Kiểm tra xem chuỗi có ký tự lặp lại không javascript

Nếu bạn kiểm tra số lần xuất hiện của 'o' trong chuỗi 'school', kết quả là 2

ví dụ 1. Kiểm tra sự xuất hiện của một ký tự bằng vòng lặp

// program to check the number of occurrence of a character

function countString[str, letter] {
    let count = 0;

    // looping through the items
    for [let i = 0; i < str.length; i++] {

        // check if the character is at that position
        if [str.charAt[i] == letter] {
            count += 1;
        }
    }
    return count;
}

// take input from the user
const string = prompt['Enter a string: '];
const letterToCheck = prompt['Enter a letter to check: '];

//passing parameters and calling the function
const result = countString[string, letterToCheck];

// displaying the result
console.log[result];

đầu ra

Enter a string: school
Enter a  letter to check: o
2

Trong ví dụ trên, người dùng được nhắc nhập một chuỗi và ký tự để kiểm tra

  • Ban đầu, giá trị của biến đếm là 0
  • Vòng lặp
    Enter a string: school
    Enter a  letter to check: o
    2
    611 được sử dụng để lặp qua các chuỗi
  • Phương thức
    Enter a string: school
    Enter a  letter to check: o
    2
    612 trả về một ký tự tại một chỉ mục đã chỉ định
  • Trong mỗi lần lặp lại, nếu ký tự tại chỉ mục đó khớp với ký tự bắt buộc để khớp, thì biến đếm được tăng thêm 1

ví dụ 2. Kiểm tra sự xuất hiện của một ký tự bằng Regex

// program to check the occurrence of a character

function countString[str, letter] {

    // creating regex 
    const re = new RegExp[letter, 'g'];

    // matching the pattern
    const count = str.match[re].length;

    return count;
}

// take input from the user
const string = prompt['Enter a string: '];
const letterToCheck = prompt['Enter a letter to check: '];

//passing parameters and calling the function
const result = countString[string, letterToCheck];

// displaying the result
console.log[result];

đầu ra

Enter a string: school
Enter a  letter to check: o
2

Trong ví dụ trên, một biểu thức chính quy [regex] được sử dụng để tìm sự xuất hiện của một chuỗi

  • Enter a string: school
    Enter a  letter to check: o
    2
    613 tạo một biểu thức chính quy
  • Phương thức
    Enter a string: school
    Enter a  letter to check: o
    2
    614 trả về một mảng chứa tất cả các kết quả khớp. Ở đây,
    Enter a string: school
    Enter a  letter to check: o
    2
    615 đưa ra ["o", "o"]
  • Thuộc tính
    Enter a string: school
    Enter a  letter to check: o
    2
    616 cung cấp độ dài của một phần tử mảng

Giải pháp đơn giản sử dụng độ phức tạp O[N^2]. Giải pháp là lặp qua chuỗi cho từng ký tự và tìm kiếm tương tự trong phần còn lại của chuỗi. Điều này sẽ cần hai vòng lặp và do đó không tối ưu.   

Thực hiện

C++




Enter a string: school
Enter a  letter to check: o
2
617

Enter a string: school
Enter a  letter to check: o
2
618

Enter a string: school
Enter a  letter to check: o
2
619

Enter a string: school
Enter a  letter to check: o
2
620

 

Enter a string: school
Enter a  letter to check: o
2
621
g
0
g
1

g
2
g
3
g
4
g
5

g
6

g
7
g
8

g
7
g
2
g
1

g
7
g
3
g
4____45
g
6

g
7
g
6

g
9
g
3
g
1____45
g
3

g
9
g
6

g
6
g
7
g
8

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
52

________ 351 ________ 354 ________ 355

_______46____357

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
6172

________ 46 ________ 354 ________ 355

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

g
2
Enter a string: school
Enter a  letter to check: o
2
6184

g
6

g
7
g
4
Enter a string: school
Enter a  letter to check: o
2
6188
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
6193

g
7
g
7
Enter a string: school
Enter a  letter to check: o
2
6196

g
9
Enter a string: school
Enter a  letter to check: o
2
6198
Enter a string: school
Enter a  letter to check: o
2
6199
Enter a string: school
Enter a  letter to check: o
2
55

_______47____16202

g
9
Enter a string: school
Enter a  letter to check: o
2
6204

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6207

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6209

Enter a string: school
Enter a  letter to check: o
2
6210

C




Enter a string: school
Enter a  letter to check: o
2
6211

Enter a string: school
Enter a  letter to check: o
2
6212

Enter a string: school
Enter a  letter to check: o
2
6213

Enter a string: school
Enter a  letter to check: o
2
620

 

g
2
g
3
g
4
g
5

g
6

g
7
g
8

g
7
g
2
g
1

g
7
g
3
g
4____45
g
09

g
9
g
3
g
1____45
g
14

g
6
g
7
g
17

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
52

________ 351 ________ 354 ________ 355

_______46____357

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
6172

________ 46 ________ 354 ________ 355

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

g
2
Enter a string: school
Enter a  letter to check: o
2
6184

g
6

g
7
g
4
Enter a string: school
Enter a  letter to check: o
2
6188
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
6193

g
7
g
7
Enter a string: school
Enter a  letter to check: o
2
6196

g
9____455____456
Enter a string: school
Enter a  letter to check: o
2
6199
g
58

_______47____16202

g
9
g
55____456
g
64
g
65

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6207

Enter a string: school
Enter a  letter to check: o
2
57

Java




g
70

g
71

g
72
g
73

g
72
g
75

 

g
76
g
77

 

g
7
g
79
g
2
g
81

g
7
g
6

g
9

g
9
g
8

g
9
g
2
g
89
g
90
g
91

g
9
g
3 ________ 494
g
95 ________ 496

g
9
g
6

g
6
g
3
g
01____490
g
03

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51
g
7
g
08

Enter a string: school
Enter a  letter to check: o
2
51
g
6

_______411____352

________ 411 ________ 354 ________ 355

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
57

_______46____357

g
6
g
7
g
22____490
g
24

________ 351 ________ 354 ________ 355

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
7

g
9
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

g
7
Enter a string: school
Enter a  letter to check: o
2
57

g
7

_______47____16182

g
7
g
79
g
41
g
42
g
43

g
7
g
6

g
9
g
47
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
6193

g
9

g
9
g
7
g
56____490
g
24

_______46____460____16199

g
58

_______49____16202

g
9
g
66

g
7
Enter a string: school
Enter a  letter to check: o
2
57

Enter a string: school
Enter a  letter to check: o
2
57

 

g
70

Python3




g
71

g
72

 

g
73
g
74

 

g
7
g
76

g
7
g
78
g
79
g
80
g
90

g
7
g
3
g
84
g
85
g
86
g
56
g
88
g
89

g
7

g
9
g
3
g
93
g
85
g
86
g
96
g
97
g
90
g
99
g
88
g
89

g
9

g
6
g
7
g
05____479
g
79
g
08

Enter a string: school
Enter a  letter to check: o
2
51
g
78
g
79
g
84

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
54

g
6

g
9
g
7
g
18
g
79
g
80
g
90
g
22

_______46____354

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
g
78

 

g
28

g
7
g
30
g
79
g
79
g
33
g
34

 

g
7
g
36
g
79
Enter a string: school
Enter a  letter to check: o
2
6189

g
7
g
40
g
79
g
3____436
g
24

g
7
g
7
g
47
g
79
g
79
g
80
g
90
g
22

g
9
g
54
g
56____16199
g
24

_______47____16202____434

g
9
g
54
g
56______436
g
65

g
7

g
67

g
68

C#




g
69

g
71

Enter a string: school
Enter a  letter to check: o
2
621
g
72

 

g
76
g
77

 

g
7
g
79
g
2
g
3
g
79
g
80

g
7
g
6

g
9

g
9
g
8

g
9
g
2
g
1

________ 49 ________ 43 ________ 491

g
9
g
6

g
6
g
3
g
96

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51
g
7
g
8

Enter a string: school
Enter a  letter to check: o
2
51
g
6

_______411____352

________ 411 ________ 354 ________ 355

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
57

_______46____357

g
6
g
7
Enter a string: school
Enter a  letter to check: o
2
6172

________ 351 ________ 354 ________ 355

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
7

g
9
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

g
7
Enter a string: school
Enter a  letter to check: o
2
57

g
7

_______47____16182

g
7
g
79
g
41
g
42
Enter a string: school
Enter a  letter to check: o
2
534

g
7
g
6

g
9
g
79
Enter a string: school
Enter a  letter to check: o
2
539____16189
Enter a string: school
Enter a  letter to check: o
2
55

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
6193

g
9

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
6196

_______46____3550____16199

g
58

_______49____16202

g
9____3556

g
7
Enter a string: school
Enter a  letter to check: o
2
57

Enter a string: school
Enter a  letter to check: o
2
57

 

g
70

PHP




Enter a string: school
Enter a  letter to check: o
2
561

Enter a string: school
Enter a  letter to check: o
2
562

Enter a string: school
Enter a  letter to check: o
2
618

 

Enter a string: school
Enter a  letter to check: o
2
564
g
3____3566____424

g
6

g
7
g
8

g
7____3572
Enter a string: school
Enter a  letter to check: o
2
573

g
7
g
3
g
56_______3577
Enter a string: school
Enter a  letter to check: o
2
578
Enter a string: school
Enter a  letter to check: o
2
577
Enter a string: school
Enter a  letter to check: o
2
580
g
5
g
56____3566
g
58
Enter a string: school
Enter a  letter to check: o
2
577
Enter a string: school
Enter a  letter to check: o
2
586

g
7
g
6

g
9
g
3
g
56______3592
Enter a string: school
Enter a  letter to check: o
2
593
Enter a string: school
Enter a  letter to check: o
2
577
Enter a string: school
Enter a  letter to check: o
2
595

Enter a string: school
Enter a  letter to check: o
2
596
Enter a string: school
Enter a  letter to check: o
2
592
Enter a string: school
Enter a  letter to check: o
2
580
g
5
g
56
Enter a string: school
Enter a  letter to check: o
2
566
g
58
Enter a string: school
Enter a  letter to check: o
2
592
Enter a string: school
Enter a  letter to check: o
2
586

g
9
g
6

g
6
g
7
g
56_______3566
Enter a string: school
Enter a  letter to check: o
2
61711
Enter a string: school
Enter a  letter to check: o
2
577
Enter a string: school
Enter a  letter to check: o
2
61713
Enter a string: school
Enter a  letter to check: o
2
566
Enter a string: school
Enter a  letter to check: o
2
61711
Enter a string: school
Enter a  letter to check: o
2
592
Enter a string: school
Enter a  letter to check: o
2
61717

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51____3572
g
79
Enter a string: school
Enter a  letter to check: o
2
577
Enter a string: school
Enter a  letter to check: o
2
55

________ 351 ________ 354 ________ 355

_______46____357

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
9
g
7
g
56______3572
Enter a string: school
Enter a  letter to check: o
2
61736

________ 46 ________ 354 ________ 355

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
572
Enter a string: school
Enter a  letter to check: o
2
55

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

Enter a string: school
Enter a  letter to check: o
2
61748
g
79
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

Enter a string: school
Enter a  letter to check: o
2
61752
Enter a string: school
Enter a  letter to check: o
2
61753____161748
g
58

 

g
7
g
56____161752
Enter a string: school
Enter a  letter to check: o
2
61759

g
7
Enter a string: school
Enter a  letter to check: o
2
61761
g
56
Enter a string: school
Enter a  letter to check: o
2
6199
g
58

Enter a string: school
Enter a  letter to check: o
2
6202

g
7
Enter a string: school
Enter a  letter to check: o
2
61761
g
56
Enter a string: school
Enter a  letter to check: o
2
61748
Enter a string: school
Enter a  letter to check: o
2
61711
Enter a string: school
Enter a  letter to check: o
2
61752
Enter a string: school
Enter a  letter to check: o
2
61772

 

Enter a string: school
Enter a  letter to check: o
2
61773

Enter a string: school
Enter a  letter to check: o
2
61774

Javascript




Enter a string: school
Enter a  letter to check: o
2
61775

 

Enter a string: school
Enter a  letter to check: o
2
61776

Enter a string: school
Enter a  letter to check: o
2
618

Enter a string: school
Enter a  letter to check: o
2
564
Enter a string: school
Enter a  letter to check: o
2
61779

g
6

g
7

_______47____161783

_______47____161785

_______47____43____161788

g
7
g
6

g
9____43____161793

g
9
g
6

g
6
g
7
g
8

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
52

________ 351 ________ 354 ________ 355

_______46____357

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
6172

________ 46 ________ 354 ________ 355

g
7
Enter a string: school
Enter a  letter to check: o
2
57

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

Enter a string: school
Enter a  letter to check: o
2
61823
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

Enter a string: school
Enter a  letter to check: o
2
61826

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6196

g
7
Enter a string: school
Enter a  letter to check: o
2
61830
Enter a string: school
Enter a  letter to check: o
2
6199
g
58

Enter a string: school
Enter a  letter to check: o
2
6202

_______47____161835

g
7

Enter a string: school
Enter a  letter to check: o
2
61837

 

Enter a string: school
Enter a  letter to check: o
2
61838

Đầu ra

g

Tối ưu hóa bằng cách đếm số lần xuất hiện

Giải pháp này được tối ưu hóa bằng cách sử dụng các kỹ thuật sau.  

  1. Chúng tôi lặp qua chuỗi và băm các ký tự bằng mã ASCII. Lưu trữ 1 nếu tìm thấy và lưu trữ 2 nếu tìm thấy lại. Ngoài ra, lưu trữ vị trí của chữ cái được tìm thấy đầu tiên trong
  2. Chúng tôi chạy một vòng lặp trên mảng băm và bây giờ chúng tôi tìm thấy vị trí tối thiểu của bất kỳ ký tự nào được lặp lại

Thực hiện

C++




Enter a string: school
Enter a  letter to check: o
2
61839

Enter a string: school
Enter a  letter to check: o
2
6212

Enter a string: school
Enter a  letter to check: o
2
61841

 

Enter a string: school
Enter a  letter to check: o
2
621
g
0
g
1

Enter a string: school
Enter a  letter to check: o
2
61845

Enter a string: school
Enter a  letter to check: o
2
61846

Enter a string: school
Enter a  letter to check: o
2
61847

 

g
2
Enter a string: school
Enter a  letter to check: o
2
61849
g
4
g
5

g
6

g
7
Enter a string: school
Enter a  letter to check: o
2
61854

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61857

 

_______47____161859

g
7____161861

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61864

 

_______47____161866

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61869

 

g
7
g
3
g
4____45
g
09

g
9
Enter a string: school
Enter a  letter to check: o
2
61876
g
2
Enter a string: school
Enter a  letter to check: o
2
61878

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
61881

g
6
Enter a string: school
Enter a  letter to check: o
2
61883

g
6
Enter a string: school
Enter a  letter to check: o
2
61885

g
9
Enter a string: school
Enter a  letter to check: o
2
57____16202
g
7
Enter a string: school
Enter a  letter to check: o
2
61890

g
6
Enter a string: school
Enter a  letter to check: o
2
61883

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
g
3
Enter a string: school
Enter a  letter to check: o
2
61897

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
61900

g
6
g
7
Enter a string: school
Enter a  letter to check: o
2
61903
Enter a string: school
Enter a  letter to check: o
2
61904

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
61906

g
6
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
61910

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
61906

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

g
2
Enter a string: school
Enter a  letter to check: o
2
6184

g
6

g
7
g
4
Enter a string: school
Enter a  letter to check: o
2
6188
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61932

g
7
g
7
Enter a string: school
Enter a  letter to check: o
2
6196

g
9
Enter a string: school
Enter a  letter to check: o
2
6198
Enter a string: school
Enter a  letter to check: o
2
6199
Enter a string: school
Enter a  letter to check: o
2
55

_______47____16202

g
9
Enter a string: school
Enter a  letter to check: o
2
6204

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6207

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6209

Enter a string: school
Enter a  letter to check: o
2
6210

C




Enter a string: school
Enter a  letter to check: o
2
6211

Enter a string: school
Enter a  letter to check: o
2
6212

Enter a string: school
Enter a  letter to check: o
2
6213

Enter a string: school
Enter a  letter to check: o
2
620

 

Enter a string: school
Enter a  letter to check: o
2
61845

Enter a string: school
Enter a  letter to check: o
2
61846

Enter a string: school
Enter a  letter to check: o
2
61847

 

g
2
Enter a string: school
Enter a  letter to check: o
2
61849
g
4
g
5

g
6

g
7
Enter a string: school
Enter a  letter to check: o
2
61854

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61857

 

_______47____161859

g
7____161861

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61864

 

_______47____161866

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61869

 

g
7
g
3
g
4____45
g
09

g
9
Enter a string: school
Enter a  letter to check: o
2
61876
g
2
Enter a string: school
Enter a  letter to check: o
2
61878

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
61881

g
6
Enter a string: school
Enter a  letter to check: o
2
61883

g
6
Enter a string: school
Enter a  letter to check: o
2
61885

g
9
Enter a string: school
Enter a  letter to check: o
2
57____16202
g
7
Enter a string: school
Enter a  letter to check: o
2
61890

g
6
Enter a string: school
Enter a  letter to check: o
2
61883

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
g
3
Enter a string: school
Enter a  letter to check: o
2
61897

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
61900

g
6
g
7
Enter a string: school
Enter a  letter to check: o
2
61903
Enter a string: school
Enter a  letter to check: o
2
61904

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
61906

g
6
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
61910

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
61906

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

g
2
Enter a string: school
Enter a  letter to check: o
2
6184

g
6

g
7
g
4
Enter a string: school
Enter a  letter to check: o
2
6188
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

g
7
g
2
Enter a string: school
Enter a  letter to check: o
2
61932

g
7
g
7
Enter a string: school
Enter a  letter to check: o
2
6196

g
9____455____456
Enter a string: school
Enter a  letter to check: o
2
6199
g
58

_______47____16202

g
9
g
55____456
g
64
g
65

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6207

Enter a string: school
Enter a  letter to check: o
2
57

Java




Enter a string: school
Enter a  letter to check: o
2
62061

g
71

 

g
72
g
75

g
72
Enter a string: school
Enter a  letter to check: o
2
62066

 

g
41
g
76
Enter a string: school
Enter a  letter to check: o
2
62069

g
6

g
7
g
41
g
79
g
2
Enter a string: school
Enter a  letter to check: o
2
62075

g
7
g
6

g
9
Enter a string: school
Enter a  letter to check: o
2
61854

g
9
g
2
g
89____490
Enter a string: school
Enter a  letter to check: o
2
62084

 

g
9
Enter a string: school
Enter a  letter to check: o
2
61859

g
9____161861

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
62091
Enter a string: school
Enter a  letter to check: o
2
62092
Enter a string: school
Enter a  letter to check: o
2
55

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
62096
Enter a string: school
Enter a  letter to check: o
2
62097
g
2
Enter a string: school
Enter a  letter to check: o
2
62099

 

g
9____161866

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
62104
Enter a string: school
Enter a  letter to check: o
2
62097
g
2
Enter a string: school
Enter a  letter to check: o
2
62099

 

g
9
g
3 ________ 494
g
95 ________ 496

g
9
g
6

g
6
Enter a string: school
Enter a  letter to check: o
2
61876
g
2
Enter a string: school
Enter a  letter to check: o
2
62118

g
6
g
7
Enter a string: school
Enter a  letter to check: o
2
62121______495
g
24

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51____161883

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
61885

_______46____357

g
6
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
62121
g
90
g
24

Enter a string: school
Enter a  letter to check: o
2
51____161883

g
9
Enter a string: school
Enter a  letter to check: o
2
57

 

g
9
g
3 ________ 494
g
95 ________ 162146

g
9
g
6

g
6
g
7
Enter a string: school
Enter a  letter to check: o
2
62151____162152
g
24

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51
g
7
Enter a string: school
Enter a  letter to check: o
2
62158____490
g
24
Enter a string: school
Enter a  letter to check: o
2
61904

g
11
Enter a string: school
Enter a  letter to check: o
2
61906

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
61910

g
11
Enter a string: school
Enter a  letter to check: o
2
61906

_______46____357

g
9
Enter a string: school
Enter a  letter to check: o
2
57

 

g
9
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

g
7
g
41
g
79
g
42
Enter a string: school
Enter a  letter to check: o
2
62184

g
7
g
6

g
9
g
47
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
61932

g
9
g
7
g
56____490
g
24

_______46____460____16199

g
58

_______49____16202

g
6
g
006

g
7
Enter a string: school
Enter a  letter to check: o
2
57

Enter a string: school
Enter a  letter to check: o
2
57

 

g
010

Python3




g
011

g
72

 

g
013

g
014

 

g
015
g
79
Enter a string: school
Enter a  letter to check: o
2
62092

 

g
73
g
019

g
7

_______47____4022

g
7
g
78
g
79
g
80
g
90

 

_______47____4029

_______47____4031

g
7
g
033
g
79
Enter a string: school
Enter a  letter to check: o
2
61711
g
95
g
3
g
84
g
85
g
86
g
041

 

_______47____4043

g
7
g
40
g
79
Enter a string: school
Enter a  letter to check: o
2
61711
g
95
g
3
g
84
g
85
g
86
g
041

 

g
7
g
3
g
84
g
85
g
86
g
56
g
88
g
89

g
9
g
063____479
g
065
g
066

g
9
g
7
g
56_______4033
g
071
g
79
g
79
g
95
g
22

g
6
g
033____4071
g
97
g
79
g
90

g
6
g
083______479
g
84

g
9
g
087
g
56
g
033
g
071
g
79
g
79
g
90
g
22

g
6
g
033____4071
g
97
g
79
g
90

 

g
7
g
3
g
84
g
85
g
86
g
106

g
9
g
7
g
56_______4033
g
111
g
79
g
79
Enter a string: school
Enter a  letter to check: o
2
62152
g
22

g
6
g
7
g
118
g
79
g
79
g
80
g
90
g
22
g
124

Enter a string: school
Enter a  letter to check: o
2
51
g
78
g
79
g
128

_______46____4087____4131

Enter a string: school
Enter a  letter to check: o
2
51
g
78
g
79
g
128

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
g
78

 

g
28

g
7
g
30
g
79
g
79
g
144
g
34

g
7
g
36
g
79
Enter a string: school
Enter a  letter to check: o
2
6189

g
7
g
40
g
79
Enter a string: school
Enter a  letter to check: o
2
61849
g
36
g
58

g
7
g
7
g
47
g
79
g
79
g
80
g
90
g
22

g
9
g
54____456
Enter a string: school
Enter a  letter to check: o
2
6199
g
24

_______47____16202____434

_______49____454____456

g
36
g
65

g
9

g
178

g
179

C#




g
180

g
71

Enter a string: school
Enter a  letter to check: o
2
621
g
72

g
41
g
76
Enter a string: school
Enter a  letter to check: o
2
62069

g
6

g
7
g
41
g
79
g
2
Enter a string: school
Enter a  letter to check: o
2
61849
g
79
g
80

g
7
g
6

g
9
Enter a string: school
Enter a  letter to check: o
2
61854

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
61857

g
202

g
9
Enter a string: school
Enter a  letter to check: o
2
61859

g
9____161861

g
9
g
2
g
209

g
9
g
2
g
212
Enter a string: school
Enter a  letter to check: o
2
62097
g
2
Enter a string: school
Enter a  letter to check: o
2
62099

g
202

g
9____161866

g
9
g
2
g
221
Enter a string: school
Enter a  letter to check: o
2
62097
g
2
Enter a string: school
Enter a  letter to check: o
2
62099

g
202

________ 49 ________ 43 ________ 491

g
9
g
6

g
6
Enter a string: school
Enter a  letter to check: o
2
61876
g
2
Enter a string: school
Enter a  letter to check: o
2
61878

g
6
g
7
g
237

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51____161883

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
61885

_______46____357

g
6
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
61890

Enter a string: school
Enter a  letter to check: o
2
51____161883

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
202

g
9
g
3
g
257

g
9
g
6

g
6
g
7
g
262

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51
g
7
Enter a string: school
Enter a  letter to check: o
2
61903
Enter a string: school
Enter a  letter to check: o
2
61904

g
11
Enter a string: school
Enter a  letter to check: o
2
61906

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
61910

g
11
Enter a string: school
Enter a  letter to check: o
2
61906

_______46____357

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
202

g
9
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

g
7
Enter a string: school
Enter a  letter to check: o
2
57

g
202

_______47____16182

g
7
g
41
g
79
g
42
g
294

g
7
g
6

g
9
g
79
Enter a string: school
Enter a  letter to check: o
2
539____16189
Enter a string: school
Enter a  letter to check: o
2
55

g
9
g
2
Enter a string: school
Enter a  letter to check: o
2
61932

g
9
g
7
Enter a string: school
Enter a  letter to check: o
2
6196

_______46____4309____16199

g
58

_______49____16202

_______46____4315

g
7
Enter a string: school
Enter a  letter to check: o
2
57

Enter a string: school
Enter a  letter to check: o
2
57

g
202

g
320

Javascript




Enter a string: school
Enter a  letter to check: o
2
61775

_______47____4323

g
7

g
7____3564
g
327

g
7
g
6

g
9
Enter a string: school
Enter a  letter to check: o
2
61854

_______49____4333

g
334

g
9
Enter a string: school
Enter a  letter to check: o
2
61859

g
9____161861

_______49____4340

g
9____4342
Enter a string: school
Enter a  letter to check: o
2
62097
g
344

_______49____4346

g
334

g
9____161866

g
9
g
351
Enter a string: school
Enter a  letter to check: o
2
62097
g
344

_______49____4355

g
334

g
9
g
3
Enter a string: school
Enter a  letter to check: o
2
61788

g
9
g
6

_______46____4363

g
6
g
7
g
237

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51____161883

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
61885

_______46____357

g
6
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
61890

Enter a string: school
Enter a  letter to check: o
2
51____161883

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
334

g
9
g
3
g
257

g
9
g
6

g
6
g
7
g
262

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51
g
7
Enter a string: school
Enter a  letter to check: o
2
61903
Enter a string: school
Enter a  letter to check: o
2
61904

g
11
Enter a string: school
Enter a  letter to check: o
2
61906

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
6202
g
7
Enter a string: school
Enter a  letter to check: o
2
61910

g
11
Enter a string: school
Enter a  letter to check: o
2
61906

_______46____357

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
334

g
9
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6180

g
7
Enter a string: school
Enter a  letter to check: o
2
57

g
7

g
7____161823
Enter a string: school
Enter a  letter to check: o
2
6189
Enter a string: school
Enter a  letter to check: o
2
55

_______47____4422

g
7
g
7
Enter a string: school
Enter a  letter to check: o
2
6196

g
426
Enter a string: school
Enter a  letter to check: o
2
61830
Enter a string: school
Enter a  letter to check: o
2
6199
g
58

_______47____16202

g
426
Enter a string: school
Enter a  letter to check: o
2
61835

 

g
434

Enter a string: school
Enter a  letter to check: o
2
61838

Đầu ra

g

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

Phương pháp #3. Sử dụng các hàm Python tích hợp

Cách tiếp cận

  • Tính tất cả tần số của tất cả các ký tự bằng hàm Counter[]
  • Duyệt qua chuỗi và kiểm tra xem có phần tử nào có tần số lớn hơn 1 không
  • In ký tự và ngắt vòng lặp

Dưới đây là việc thực hiện

Python3




g
436

________ 4437 ________ 4438 ________ 472 ________ 4440

 

g
441

g
442

g
73
g
444

g
334

_______47____4447

_______47____4449

g
7____4451____479
g
453

g
7

_______47____4456

g
7
g
3
g
84
g
85
g
461

g
9
g
7____4464
g
90
g
22

_______46____454____4469

_______46____354

 

 

g
28

________ 479 ________ 479 ________ 16189

 

g
476

g
477

 

g
478

Đầu ra

g

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

Phương pháp #4. Giải chỉ bằng cách duyệt một chuỗi đã cho

thuật toán

  1. Đi qua chuỗi từ trái sang phải
  2. Nếu ký tự hiện tại không có trong bản đồ băm, thì hãy đẩy ký tự này cùng với Chỉ mục của nó
  3. Nếu ký tự hiện tại đã có trong bản đồ băm, thì hãy lấy chỉ mục của ký tự hiện tại [từ bản đồ băm] và so sánh nó với chỉ mục của ký tự lặp lại được tìm thấy trước đó
  4. Nếu chỉ mục hiện tại nhỏ hơn, hãy cập nhật chỉ mục

C++




g
479

g
480

g
481

Enter a string: school
Enter a  letter to check: o
2
621
g
0
g
1

 

g
485

g
4
g
487

g
7
g
6

_______49____4491____44____499

g
2
g
495

g
9
g
4
g
498
g
499
Enter a string: school
Enter a  letter to check: o
2
55

________ 49 ________ 42 ________ 4503

g
9

_______49____4506

g
9
g
3____456
g
2
g
511

g
9
g
6

________ 46 ________ 44 ________ 4516

g
6

_______46____47____4520

_______46____16202

g
6
g
6

Enter a string: school
Enter a  letter to check: o
2
51____47____4527

Enter a string: school
Enter a  letter to check: o
2
51
g
6

_______411____4531

_______411____4533

Enter a string: school
Enter a  letter to check: o
2
51
Enter a string: school
Enter a  letter to check: o
2
57

_______46____357

g
6

g
9
Enter a string: school
Enter a  letter to check: o
2
57

g
9

g
9

________ 49 ________ 16179 ________ 4545

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
548

g
2
g
550

 

_______47____4552

_______47____4554____4555

Enter a string: school
Enter a  letter to check: o
2
55

_______47____4558

g
7

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
Enter a string: school
Enter a  letter to check: o
2
6207

Enter a string: school
Enter a  letter to check: o
2
57

 

 

Enter a string: school
Enter a  letter to check: o
2
6209

g
565

Java




g
566

g
567

g
72
g
75

 

g
41
g
76
g
77

g
334
g
41
g
79
g
2
g
577
g
578
Enter a string: school
Enter a  letter to check: o
2
55

 

_______4334____4485

________ 4334

g
41 ________ 479 ________ 44 ________ 4586

g
334
g
6

_______47____4590

g
426
g
79
Enter a string: school
Enter a  letter to check: o
2
62097
g
594

g
7
g
4
g
597____4499
Enter a string: school
Enter a  letter to check: o
2
55

g
7
g
2
g
602

 

_______47____4506

g
7
g
3
g
56
g
2
g
609
g
95
g
611

________ 4426 ________ 44 ________ 4614

 

g
426
g
7
g
617

_______49____4619

_______4426____357

g
426
Enter a string: school
Enter a  letter to check: o
2
6202
g
6

g
9
g
7
g
627

g
628
g
629

g
628
g
631

g
9
Enter a string: school
Enter a  letter to check: o
2
57

_______4426____357

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
g
545

g
334
Enter a string: school
Enter a  letter to check: o
2
57

 

g
334
g
548

g
334
g
41
g
79
g
42
Enter a string: school
Enter a  letter to check: o
2
62184

g
334
g
6

 

_______47____4552

_______47____4655____4555

Enter a string: school
Enter a  letter to check: o
2
55

_______47____4659

_______47____4661____4662

g
58

g
334
Enter a string: school
Enter a  letter to check: o
2
57

Enter a string: school
Enter a  letter to check: o
2
57

 

g
667

Python3




g
668

g
669

________ 4670 ________ 479 ________ 4578

 

g
673

g
73
g
675

g
7
g
677
g
79
g
679
g
680

g
7
g
682______479
g
499

g
7
g
686______479
g
670

g
7

_______47____4691

g
7
g
84
g
79
g
95

g
7
g
697
g
698
g
88
g
89

g
9
g
78
g
79
g
704

g
9
g
7
g
56____4708
g
118
g
85
g
677
g
712

g
6
g
677____4715
g
79
g
84

g
9
Enter a string: school
Enter a  letter to check: o
2
6202____434

g
6
g
7
g
56____4677
g
725

Enter a string: school
Enter a  letter to check: o
2
51
g
686
g
79
g
677
g
730

Enter a string: school
Enter a  letter to check: o
2
51
g
682
g
79
g
78

g
9
g
84
g
97
g
79
g
90

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
g
682

 

g
7
g
30
g
79
g
79
g
33
g
34

g
334

_______47____4751

g
7____4753____479
g
555

_______47____454____4758____479

g
760

_______47____454____456

g
662
g
765
g
79
g
760

 

g
768

C#




g
769

Enter a string: school
Enter a  letter to check: o
2
621
g
72

Enter a string: school
Enter a  letter to check: o
2
621
g
773

 

________ 441 ________ 479 ________ 476 ________ 477

g
334
g
79
g
2
g
781

 

_______4334____4485

g
334
g
41
g
79
g
4
g
788
g
79
g
80

g
334
g
6

_______47____4794____44____499

g
2
g
798

g
426
g
79
Enter a string: school
Enter a  letter to check: o
2
62097
g
794
g
4
g
99
g
2
g
806

g
7
g
4
g
597____4499
Enter a string: school
Enter a  letter to check: o
2
55

g
7
g
2
g
602

 

_______47____4506

g
7
g
3
g
56______42
g
821

g
426
g
4
g
824

 

g
426
g
7
g
827

_______49____4829

_______4426____357

g
426
Enter a string: school
Enter a  letter to check: o
2
6202
g
6

g
9
g
7
g
837

g
628
g
839

g
628
g
631

g
9
Enter a string: school
Enter a  letter to check: o
2
57

_______4426____357

g
7
Enter a string: school
Enter a  letter to check: o
2
57

 

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
g
545

g
334
Enter a string: school
Enter a  letter to check: o
2
57

 

g
334
g
548

________ 4334

g
41 ________ 479 ________ 442 ________ 4294

g
334
g
6

 

_______47____4552

g
7
g
79
g
866
g
555
Enter a string: school
Enter a  letter to check: o
2
55

_______47____4870

_______47____4309____4662

g
58

g
334
Enter a string: school
Enter a  letter to check: o
2
57

Enter a string: school
Enter a  letter to check: o
2
57

 

g
667

Javascript




Enter a string: school
Enter a  letter to check: o
2
61775

g
880

g
881

 

g
485

Enter a string: school
Enter a  letter to check: o
2
564
g
884

g
6

g
7____4887
Enter a string: school
Enter a  letter to check: o
2
62097
g
889

g
7____4891____4499
Enter a string: school
Enter a  letter to check: o
2
55

_______47____4895

g
9

_______47____4506

_______47____43____4901

g
7
g
6

g
9
g
905

g
6

g
9
g
7____4909

_______49____16202

g
9
g
6

_______46____47____4916

g
6
g
6

_______351____4629

Enter a string: school
Enter a  letter to check: o
2
51____4631

_______46____357

_______49____4926

g
7
Enter a string: school
Enter a  letter to check: o
2
57

g
7
Enter a string: school
Enter a  letter to check: o
2
6179
g
545

Enter a string: school
Enter a  letter to check: o
2
57

 

Enter a string: school
Enter a  letter to check: o
2
6182

 

g
552

________ 4935 ________ 4555 ________ 355

g
938

g
7

g
940

Enter a string: school
Enter a  letter to check: o
2
61838

Đầu ra

Enter a string: school
Enter a  letter to check: o
2
5

Độ phức tạp về thời gian. O[N]
Không gian phụ. O[1], vì sẽ có một số lượng ký tự không đổi trong chuỗi.

Giải pháp tối ưu hơn Ký tự lặp lại có lần xuất hiện đầu tiên ở ngoài cùng bên trái

Bài viết này được đóng góp bởi Suprotik Dey. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác

Làm cách nào để kiểm tra các ký tự lặp lại trong một chuỗi trong JavaScript?

Làm cách nào để tìm các ký tự trùng lặp trong một chuỗi JavaScript đã cho? .
const getRepeatedChars = [str] => {
cho [const char của str] {
ký tự [char] = [ký tự [char]. 0] + 1;
trả lại đối tượng. mục nhập [ký tự]. bộ lọc [char => char[1] > 1]. bản đồ[char => char[0]];

Làm cách nào để tìm các bản sao trong một chuỗi trong JavaScript?

hàm hasDuplicates [mảng] { var count = []; . chiều dài; . ] var mảng = [1, 1, 2, 3, 4]; . bạn có các giá trị trùng lặp

Làm cách nào để tìm các ký tự trùng lặp trong JavaScript?

Cách tiếp cận. Tạo một HashMap và ký tự của Chuỗi sẽ được chèn làm khóa và được tính là giá trị. Nếu Hashamap đã chứa char, hãy tăng số lượng của nó lên 1, nếu không thì hãy đặt char trong HashMap. Nếu giá trị của Char lớn hơn 1, điều đó có nghĩa là nó là ký tự trùng lặp trong Chuỗi đó

Làm cách nào để đếm số lần xuất hiện của một ký tự trong chuỗi trong JavaScript?

Ví dụ 2. Kiểm tra sự xuất hiện của một ký tự bằng Regex . const re = new RegExp[letter, 'g']; . Phương thức match[] trả về một mảng chứa tất cả các kết quả khớp.

Chủ Đề