Làm cách nào để tìm ký tự không lặp lại đầu tiên trong chuỗi trong python?

Chuỗi là sự kết hợp của các ký tự khi 2 hoặc nhiều ký tự kết hợp với nhau, nó tạo thành chuỗi cho dù sự hình thành đó có nghĩa hay vô nghĩa. Trong lập trình python, chúng tôi coi một ký tự đơn lẻ cũng là một chuỗi vì không có kiểu dữ liệu nào là một ký tự trong python. Trong chương trình python này, chúng ta sẽ tìm các phần tử duy nhất hoặc các phần tử không lặp lại của chuỗi

Cho một xâu S bao gồm các chữ cái Latinh viết thường, nhiệm vụ là tìm ký tự không lặp lại đầu tiên trong S

ví dụ.  

Đầu vào. “geeksforgeeks”
Đầu ra. f
Giải thích. Vì 'f' là ký tự đầu tiên trong chuỗi không lặp lại.

Đầu vào. “thuật toán”
Đầu ra. a
Giải thích. Vì 'a' là ký tự đầu tiên trong chuỗi không lặp lại.

Thực hành được đề xuất Ký tự không lặp lại Hãy thử

Cách tiếp cận ngây thơ

Ý tưởng là lặp qua chuỗi và đối với mỗi ký tự, hãy kiểm tra sự xuất hiện của cùng một ký tự trong chuỗi. Nếu số lần xuất hiện của nó là 1 thì trả về ký tự đó. Nếu không, tìm kiếm các ký tự còn lại

Ghi chú. Trong python để tìm sự xuất hiện của một ký tự trong chuỗi có In-Built Function string. đếm[]

Dưới đây là việc thực hiện các phương pháp trên

Python3




First non-repeating character is f
06

 

________ 207 ________ 208 ________ 209

First non-repeating character is f
0
First non-repeating character is f
08
First non-repeating character is f
2
First non-repeating character is f
3

First non-repeating character is f
4
First non-repeating character is f
08
First non-repeating character is f
6

First non-repeating character is f
7
First non-repeating character is f
8
First non-repeating character is f
9
First non-repeating character is f
0

First non-repeating character is f
1
First non-repeating character is f
2
First non-repeating character is f
3
First non-repeating character is f
08
First non-repeating character is f
08
First non-repeating character is f
3
First non-repeating character is f
7

First non-repeating character is f
8
First non-repeating character is f
4____00
First non-repeating character is f
08
First non-repeating character is f
8

First non-repeating character is f
8
First non-repeating character is f
4

_______01____06____07

First non-repeating character is f
8
First non-repeating character is f
0
First non-repeating character is f
0
First non-repeating character is f
08
First non-repeating character is f
3

First non-repeating character is f
2
First non-repeating character is f
0
First non-repeating character is f
08
First non-repeating character is f
08
First non-repeating character is f
3
First non-repeating character is f
7

First non-repeating character is f
1
First non-repeating character is f
0
First non-repeating character is f
1
First non-repeating character is f
2
First non-repeating character is f
3

First non-repeating character is f
6
First non-repeating character is f
7

First non-repeating character is f
1
First non-repeating character is f
0____01
First non-repeating character is f
9
First non-repeating character is f
060

Đầu ra

First non-repeating character is f

Độ phức tạp về thời gian. O[N2], Duyệt qua chuỗi cho mọi ký tự trong chuỗi có kích thước N.
Không gian phụ. Ô[1]

Ký tự không lặp lại đầu tiên sử dụng hàm chuỗi find[]

Ý tưởng là tìm kiếm ký tự hiện tại trong chuỗi ngay sau lần xuất hiện đầu tiên của nó trong chuỗi. Nếu ký tự được tìm thấy trong chuỗi còn lại thì trả về ký tự đó.  

Việc tìm kiếm được thực hiện bằng hàm find[] tích hợp

Dưới đây là việc thực hiện phương pháp

C++




First non-repeating character is f
061

 

First non-repeating character is f
062

________ 2063 ________ 2064 ________ 2065

 

________ 2066 ________ 2067

First non-repeating character is f
068

 

First non-repeating character is f
1
First non-repeating character is f
7
First non-repeating character is f
1____2072
First non-repeating character is f
073

 

First non-repeating character is f
8
First non-repeating character is f
2
First non-repeating character is f
076

First non-repeating character is f
077
First non-repeating character is f
078

First non-repeating character is f
077
First non-repeating character is f
080
First non-repeating character is f
081

________ 2082 ________ 2083

 

First non-repeating character is f
077
First non-repeating character is f
085
First non-repeating character is f
086

First non-repeating character is f
8
First non-repeating character is f
088

First non-repeating character is f
1____2088

First non-repeating character is f
1____2080
First non-repeating character is f
093

________ 2077 ________ 2095 ________ 2086

________ 01 ________ 2085 ________ 2086

First non-repeating character is f
088

 

First non-repeating character is f
01

First non-repeating character is f
072
First non-repeating character is f
03

First non-repeating character is f
068

 

_______01____006____209

First non-repeating character is f
086

First non-repeating character is f
1
First non-repeating character is f
10

First non-repeating character is f
088

 

First non-repeating character is f
12

Java




First non-repeating character is f
13

First non-repeating character is f
14
First non-repeating character is f
15

 

First non-repeating character is f
16
First non-repeating character is f
17

 

First non-repeating character is f
18
First non-repeating character is f
19

First non-repeating character is f
18
First non-repeating character is f
21

First non-repeating character is f
18
First non-repeating character is f
23
First non-repeating character is f
24
First non-repeating character is f
066
First non-repeating character is f
26

First non-repeating character is f
18
First non-repeating character is f
068

 

First non-repeating character is f
1
First non-repeating character is f
7
First non-repeating character is f
1____2072
First non-repeating character is f
33
First non-repeating character is f
34
First non-repeating character is f
35

 

First non-repeating character is f
36
First non-repeating character is f
2
First non-repeating character is f
38
First non-repeating character is f
3
First non-repeating character is f
40
First non-repeating character is f
3
First non-repeating character is f
42

First non-repeating character is f
8
First non-repeating character is f
44____2081
First non-repeating character is f
46

_______08____04____2086

_______036____2088

First non-repeating character is f
1____2088

________ 01 ________ 2085 ________ 2086

First non-repeating character is f
18
First non-repeating character is f
088

First non-repeating character is f
18
First non-repeating character is f
23
First non-repeating character is f
24
First non-repeating character is f
066
First non-repeating character is f
63

_______01____065____209

First non-repeating character is f
086

First non-repeating character is f
1
First non-repeating character is f
10

First non-repeating character is f
18
First non-repeating character is f
088

First non-repeating character is f
088

 

First non-repeating character is f
73

Python3




First non-repeating character is f
74

 

 

First non-repeating character is f
75
First non-repeating character is f
76

 

First non-repeating character is f
1
First non-repeating character is f
7
First non-repeating character is f
8
First non-repeating character is f
9
First non-repeating character is f
81

 

First non-repeating character is f
8
First non-repeating character is f
2
First non-repeating character is f
84
First non-repeating character is f
0
First non-repeating character is f
3
First non-repeating character is f
87
First non-repeating character is f
08
First non-repeating character is f
08
First non-repeating character is f
2
First non-repeating character is f
3
First non-repeating character is f
7

 

First non-repeating character is f
077
First non-repeating character is f
0
First non-repeating character is f
1
First non-repeating character is f
9
First non-repeating character is f
97

 

First non-repeating character is f
077
First non-repeating character is f
4

 

First non-repeating character is f
1____2085

 

First non-repeating character is f
02

 

 

________ 003 ________ 208 ________ 005

 

First non-repeating character is f
06

C#




First non-repeating character is f
07

First non-repeating character is f
08

First non-repeating character is f
063
First non-repeating character is f
10

 

________ 023 ________ 024 ________ 016 ________ 017

 

First non-repeating character is f
1
First non-repeating character is f
19

First non-repeating character is f
1
First non-repeating character is f
21

First non-repeating character is f
1
First non-repeating character is f
23
First non-repeating character is f
24
First non-repeating character is f
066
First non-repeating character is f
23
First non-repeating character is f
07
First non-repeating character is f
25

First non-repeating character is f
1____2068

 

First non-repeating character is f
8
First non-repeating character is f
7
First non-repeating character is f
1____2072
First non-repeating character is f
32

 

First non-repeating character is f
077
First non-repeating character is f
2
First non-repeating character is f
35

First non-repeating character is f
36
First non-repeating character is f
37

First non-repeating character is f
36
First non-repeating character is f
39

First non-repeating character is f
40
First non-repeating character is f
081

First non-repeating character is f
40
First non-repeating character is f
43

 

First non-repeating character is f
36
First non-repeating character is f
4____2086

First non-repeating character is f
077
First non-repeating character is f
088

First non-repeating character is f
8
First non-repeating character is f
088

________ 08 ________ 2085 ________ 2086

First non-repeating character is f
1____2088

 

First non-repeating character is f
1
First non-repeating character is f
01

First non-repeating character is f
1
First non-repeating character is f
59
First non-repeating character is f
24
First non-repeating character is f
066
First non-repeating character is f
62

First non-repeating character is f
1____2068

 

First non-repeating character is f
8
First non-repeating character is f
07
First non-repeating character is f
67____209
First non-repeating character is f
086

First non-repeating character is f
8
First non-repeating character is f
10

First non-repeating character is f
1____2088

First non-repeating character is f
088

 

First non-repeating character is f
75

Javascript




First non-repeating character is f
76

 

First non-repeating character is f
77

 

First non-repeating character is f
78
First non-repeating character is f
79

 

_______080____07____082

First non-repeating character is f
80
First non-repeating character is f
068

 

First non-repeating character is f
85
First non-repeating character is f
2
First non-repeating character is f
87

First non-repeating character is f
85
First non-repeating character is f
068

First non-repeating character is f
90____091

 

First non-repeating character is f
90
First non-repeating character is f
4

First non-repeating character is f
85
First non-repeating character is f
088

First non-repeating character is f
80
First non-repeating character is f
088

First non-repeating character is f
80
First non-repeating character is f
085

First non-repeating character is f
088

 

First non-repeating character is f
01

First non-repeating character is f
02
First non-repeating character is f
05

First non-repeating character is f
06

 

First non-repeating character is f
12

 

First non-repeating character is f
06

Đầu ra

First non-repeating character is f

Độ phức tạp về thời gian. O[N2]
Không gian phụ. Ô[1]

Ký tự không lặp lại đầu tiên sử dụng HashMap và hai lần duyệt chuỗi

Ý tưởng là tìm tần số của tất cả các ký tự trong chuỗi và kiểm tra xem ký tự nào có tần số đơn vị

Cách tốt nhất để tìm ký tự không lặp lại đầu tiên trong một chuỗi là gì?

Thuật toán tìm ký tự không lặp lại đầu tiên trong một chuỗi .
Nhập chuỗi từ người dùng
Bắt đầu đi ngang qua chuỗi bằng hai vòng
Sử dụng vòng lặp đầu tiên để quét từng ký tự của chuỗi
Sử dụng vòng lặp thứ hai để tìm xem ký tự hiện tại có xuất hiện ở phần sau hay không nếu chuỗi đó hay không

Làm cách nào để tìm ký tự không lặp lại đầu tiên trong chuỗi bằng luồng?

Sử dụng phương thức indexOf[] và lastIndexOf[] , chúng ta có thể tìm thấy ký tự không lặp lại đầu tiên trong một chuỗi trong Java. Phương thức indexOf[] trả về vị trí xuất hiện đầu tiên của một ký tự đã cho trong một chuỗi trong khi phương thức lastIndexOf[] trả về vị trí xuất hiện cuối cùng của một ký tự đã cho trong một chuỗi.

Làm cách nào để lấy các ký tự không khớp trong một chuỗi bằng Python?

Thông tin liên quan .
strcat[] — Nối chuỗi
strchr[] — Tìm kiếm ký tự
strcmp[] — So sánh chuỗi
strcpy[] — Sao chép chuỗi
strcspn[] — Tìm độ lệch của ký tự khớp đầu tiên
strpbrk [] - Tìm ký tự trong chuỗi
strrchr [] - Xác định vị trí xuất hiện cuối cùng của ký tự trong chuỗi
wcschr [] - Tìm kiếm ký tự rộng

Chủ Đề