Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
ĐọcS consisting of lowercase English alphabets, the task is to find the number of unique characters present in the string.
Examples:
Input: S = "geeksforgeeks" Output: 7 Explanation: The given string "geeksforgeeks" contains 6 unique characters {'g', 'e', 'k', 's', 'f', 'o', 'r'}.
Input: S = "madam" Output: 3
Bàn luận The idea to solve the given problem is to initialize a Set[] in python to store all distinct characters of the given string and then, print the size of the set as the required answer.
Đưa ra một chuỗi bao gồm bảng chữ cái tiếng Anh thường, nhiệm vụ là tìm số lượng ký tự duy nhất có trong chuỗi.
Python3
Cách tiếp cận: Ý tưởng để giải quyết vấn đề đã cho là khởi tạo một set [] trong python để lưu trữ tất cả các ký tự riêng biệt của chuỗi đã cho và sau đó, in kích thước của tập hợp như câu trả lời cần thiết.
Dưới đây là việc thực hiện phương pháp trên:
def
Input: S = "madam" Output: 30
Input: S = "madam" Output: 31
Input: S = "madam" Output: 32
Input: S = "madam" Output: 33
Input: S = "madam" Output: 34
Input: S = "madam" Output: 35
Input: S = "madam" Output: 36
Input: S = "madam" Output: 37
Input: S = "madam" Output: 31____19
Input: S = "madam" Output: 33
71
722.
74
75
Input: S = "madam" Output: 35
Input: S = "madam" Output: 35
78
79
Input: S = "madam" Output: 331len[set["stackoverflow"]] # returns 12
Input: S = "madam" Output: 353 O[NlogN]len[set["stackoverflow"]] # returns 12
Input: S = "madam" Output: 335len[set["stackoverflow"]] # returns 12
6 O[N] // An extra variable store all the characters of the string and in worst case all characters will be unique hence algorithm takes up linear spacelen[set["stackoverflow"]] # returns 12
Độ phức tạp về thời gian: o [nlogn] & nbsp;Counter function:
Không gian phụ trợ: O [n] // Một biến bổ sung lưu trữ tất cả các ký tự của chuỗi và trong trường hợp xấu nhất, tất cả các ký tự sẽ là duy nhất do đó thuật toán chiếm không gian tuyến tính
Phương pháp 2: Sử dụng chức năng truy cập:
Python3
Đếm tần số của tất cả các phần tử bằng cách sử dụng hàm bộ đếm và số khóa của từ điển tần số này cho kết quả.
Cách tiếp cận: Ý tưởng để giải quyết vấn đề đã cho là khởi tạo một set [] trong python để lưu trữ tất cả các ký tự riêng biệt của chuỗi đã cho và sau đó, in kích thước của tập hợp như câu trả lời cần thiết.
Dưới đây là việc thực hiện phương pháp trên:
def
Input: S = "madam" Output: 30
Input: S = "madam" Output: 31
Input: S = "madam" Output: 32
Input: S = "madam" Output: 33
Input: S = "madam" Output: 34
Input: S = "madam" Output: 35
Input: S = "madam" Output: 36
Input: S = "madam" Output: 37
Input: S = "madam" Output: 31____19
Input: S = "madam" Output: 33
71
722.
Input: S = "madam" Output: 33
len[set["stackoverflow"]] # returns 12
5len[set["stackoverflow"]] # returns 12
6Output:
7
7475Input: S = "madam" Output: 35Input: S = "madam" Output: 357879O[NlogN]
Input: S = "madam" Output: 331len[set["stackoverflow"]] # returns 12
Input: S = "madam" Output: 353O[N] an extra variable stores all the frequencies of the string hence algorithm takes up linear spacelen[set["stackoverflow"]] # returns 12
Input: S = "madam"
Output: 3
3
5len[set["stackoverflow"]] # returns 12
6len[set["stackoverflow"]] # returns 12
- Độ phức tạp về thời gian: o [nlogn] & nbsp;
- Không gian phụ trợ: O [n] // Một biến bổ sung lưu trữ tất cả các ký tự của chuỗi và trong trường hợp xấu nhất, tất cả các ký tự sẽ là duy nhất do đó thuật toán chiếm không gian tuyến tính
- Phương pháp 2: Sử dụng chức năng truy cập:
- Đếm tần số của tất cả các phần tử bằng cách sử dụng hàm bộ đếm và số khóa của từ điển tần số này cho kết quả.
Python3
Dưới đây là việc thực hiện:
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17 because case sensitive and count whitespace
1Input: S = "madam" Output: 35
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17 because case sensitive and count whitespace
3len[set["stackoverflow"]] # returns 12
7 len[set["stackoverflow"]] # returns 12
8len[set["stackoverflow"]] # returns 12
9 string = 'aabbcd'
unique = []
for char in string[::]:
if char not in unique:
unique.append[char]
print[len[unique]]
0Input: S = "madam" Output: 33
string = 'aabbcd'
unique = []
for char in string[::]:
if char not in unique:
unique.append[char]
print[len[unique]]
6Input: S = "madam" Output: 35
string = 'aabbcd'
unique = []
for char in string[::]:
if char not in unique:
unique.append[char]
print[len[unique]]
8Input: S = "madam" Output: 31
Input: S = "madam" Output: 39
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17
4def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17 because case sensitive and count whitespace
1def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17
6Input: S = "madam" Output: 35
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17
8len[set["stackoverflow"]] # returns 12
5Input: S = "madam" Output: 37
72
def
2Tôi phải tìm số lượng ký tự duy nhất trong một chuỗi.
Đây là sản phẩm đánh bắt, không có mảng hoặc thậm chí def
3 vòng lặp [mặc dù vòng lặp
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17 because case sensitive and count whitespace
4 có thể thực hiện được điều này]. Tôi dường như không thể làm điều đó mà không viết một loạt các câu nói lố bịch 24 -________ 96 dưới một vòng lặp def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17 because case sensitive and count whitespace
4 Kiểm tra từng giá trị char với nhau.
mkrieger1
Huy hiệu vàng 16K449 Huy hiệu bạc57 Huy hiệu đồng4 gold badges49 silver badges57 bronze badges
Đã hỏi ngày 21 tháng 2 năm 2015 lúc 4:22Feb 21, 2015 at 4:22
7
Dùng cái này:
len[set["stackoverflow"]] # returns 12
Đã trả lời ngày 17 tháng 7 năm 2019 lúc 11:08Jul 17, 2019 at 11:08
Vlad Havriukvlad HavriukVlad Havriuk
1.17114 Huy hiệu bạc26 Huy hiệu đồng14 silver badges26 bronze badges
Vì bạn đã nói rằng bạn không được phép sử dụng
Input: S = "madam" Output: 36 và do đó, giải pháp Christian khuyến nghị:
def
9Bạn có thể giải quyết nó bằng cách sử dụng vòng lặp
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17 because case sensitive and count whitespace
4 như bạn muốn như vậy:string = 'aabbcd'
unique = []
for char in string[::]:
if char not in unique:
unique.append[char]
print[len[unique]]
Đầu ra:
Input: S = "madam" Output: 301
Vui lòng tải lên các nỗ lực của bạn vào lần tới và hãy để chúng tôi thử và giúp bạn với lý do tại sao chúng không hoạt động. Trang web này không phải để làm bài tập về nhà của bạn cho bạn.
Chỉnh sửa: Danh sách thay thế [] mà bạn cũng nói rằng bạn không thể sử dụng.
Đã trả lời ngày 21 tháng 2 năm 2015 lúc 4:50Feb 21, 2015 at 4:50
ValevaleVale
1.0037 huy hiệu bạc22 Huy hiệu đồng7 silver badges22 bronze badges
1
Đếm số lượng ký tự duy nhất trong một python chuỗi chỉ sử dụng cho các vòng lặp và các hoạt động ifel
Để đếm số lượng các chữ cái ASCII duy nhất trong chuỗi
Input: S = "madam" Output: 302:
import string
s = 'AabC'
s = s.lower[]
print[sum[1 for c in string.ascii_lowercase if s.count[c] == 1]]
Nếu bạn muốn đếm riêng các chữ cái trên/chữ thường thì hãy xóa dòng
Input: S = "madam" Output: 303 và sử dụng
Input: S = "madam" Output: 304 thay vì
Input: S = "madam" Output: 305. Kết quả có thể khác với
Input: S = "madam" Output: 306 nếu có thể có các ký hiệu khác trong chuỗi như dấu chấm câu, ví dụ:
Input: S = "madam" Output: 307
Đã trả lời ngày 21 tháng 2 năm 2015 lúc 9:59Feb 21, 2015 at 9:59
JFSJFSjfs
384K183 Huy hiệu vàng949 Huy hiệu bạc1622 Huy hiệu Đồng183 gold badges949 silver badges1622 bronze badges
Vì vậy, không được phép là; 'trong khi các vòng', 'đặt', 'mảng' [và liệt kê tôi giả sử] ..
Bạn có thể tạo một chuỗi với tất cả các ký tự độc đáo và vòng lặp thông qua các ký tự có vòng lặp, bằng cách này bạn không cần một danh sách, mảng mảng hoặc trong khi vòng lặp.
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.?*&^%$#@!etc"
def unique_count[some_string]:
letter_count = 0
for letter in letters:
if letter in some_string:
letter_count += 1
return letter_count
print[unique_count["whatEver@"]
// cái này sẽ in 9 [vì E! = E]
Có lẽ không thanh lịch vì chuỗi dài để phù hợp với, nhưng nó đáp ứng yêu cầu không sử dụng danh sách, mảng hoặc trong khi vòng lặp.
Đã trả lời ngày 8 tháng 9 năm 2020 lúc 18:50Sep 8, 2020 at 18:50
Bạn có thể thực hiện theo cách này bằng cách chỉ sử dụng cho vòng lặp và bằng cách áp dụng chức năng Len [] trên danh sách.
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17 because case sensitive and count whitespace
Bạn cũng có thể tạo một chức năng và gọi nó bất cứ khi nào bạn muốn chỉ bằng cách truyền đối số.
def unique_count[word]:
k=list[]
for x in word:
if x not in k:
k.append[x]
return len[k]
print[unique_count["stackoverflow is goOd"]]
//prints 17
Dharman ♦♦
28.3K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges
Đã trả lời ngày 13 tháng 8 năm 2020 lúc 9:51Aug 13, 2020 at 9:51