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 2617
Enter a string: school Enter a letter to check: o 2618
Enter a string: school Enter a letter to check: o 2619
Enter a string: school Enter a letter to check: o 2620
Enter a string: school Enter a letter to check: o 2621
g0
g1
g2
g3
g4
g5
g6
g7
g8
g7
g2
g1
g7
g3
g4____45
g6
g7
g6
g9
g3
g1____45
g3
g9
g6
g6
g7
g8
g6
g6
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 252
________ 351 ________ 354 ________ 355
_______46____357
g9
Enter a string: school Enter a letter to check: o 257
g9
g7
Enter a string: school Enter a letter to check: o 26172
________ 46 ________ 354 ________ 355
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
g2
Enter a string: school Enter a letter to check: o 26184
g6
g7
g4
Enter a string: school Enter a letter to check: o 26188
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
g7
g2
Enter a string: school Enter a letter to check: o 26193
g7
g7
Enter a string: school Enter a letter to check: o 26196
g9
Enter a string: school Enter a letter to check: o 26198
Enter a string: school Enter a letter to check: o 26199
Enter a string: school Enter a letter to check: o 255
_______47____16202
g9
Enter a string: school Enter a letter to check: o 26204
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26207
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26209
Enter a string: school Enter a letter to check: o 26210
C
Enter a string: school Enter a letter to check: o 26211
Enter a string: school Enter a letter to check: o 26212
Enter a string: school Enter a letter to check: o 26213
Enter a string: school Enter a letter to check: o 2620
g2
g3
g4
g5
g6
g7
g8
g7
g2
g1
g7
g3
g4____45
g09
g9
g3
g1____45
g14
g6
g7
g17
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 252
________ 351 ________ 354 ________ 355
_______46____357
g9
Enter a string: school Enter a letter to check: o 257
g9
g7
Enter a string: school Enter a letter to check: o 26172
________ 46 ________ 354 ________ 355
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
g2
Enter a string: school Enter a letter to check: o 26184
g6
g7
g4
Enter a string: school Enter a letter to check: o 26188
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
g7
g2
Enter a string: school Enter a letter to check: o 26193
g7
g7
Enter a string: school Enter a letter to check: o 26196
g9____455____456
Enter a string: school Enter a letter to check: o 26199
g58
_______47____16202
g9
g55____456
g64
g65
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26207
Enter a string: school Enter a letter to check: o 257
Java
g70
g71
g72
g73
g72
g75
g76
g77
g7
g79
g2
g81
g7
g6
g9
g9
g8
g9
g2
g89
g90
g91
g9
g3 ________ 494
g95 ________ 496
g9
g6
g6
g3
g01____490
g03
g6
g6
Enter a string: school Enter a letter to check: o 251
g7
g08
Enter a string: school Enter a letter to check: o 251
g6
_______411____352
________ 411 ________ 354 ________ 355
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 257
_______46____357
g6
g7
g22____490
g24
________ 351 ________ 354 ________ 355
g9
Enter a string: school Enter a letter to check: o 257
g7
g9
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
g7
Enter a string: school Enter a letter to check: o 257
g7
_______47____16182
g7
g79
g41
g42
g43
g7
g6
g9
g47
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
g9
g2
Enter a string: school Enter a letter to check: o 26193
g9
g9
g7
g56____490
g24
_______46____460____16199
g58
_______49____16202
g9
g66
g7
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 257
g70
Python3
g71
g72
g73
g74
g7
g76
g7
g78
g79
g80
g90
g7
g3
g84
g85
g86
g56
g88
g89
g7
g9
g3
g93
g85
g86
g96
g97
g90
g99
g88
g89
g9
g6
g7
g05____479
g79
g08
Enter a string: school Enter a letter to check: o 251
g78
g79
g84
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 254
g6
g9
g7
g18
g79
g80
g90
g22
_______46____354
g7
Enter a string: school Enter a letter to check: o 26179
g78
g28
g7
g30
g79
g79
g33
g34
g7
g36
g79
Enter a string: school Enter a letter to check: o 26189
g7
g40
g79
g3____436
g24
g7
g7
g47
g79
g79
g80
g90
g22
g9
g54
g56____16199
g24
_______47____16202____434
g9
g54
g56______436
g65
g7
g67
g68
C#
g69
g71
Enter a string: school Enter a letter to check: o 2621
g72
g76
g77
g7
g79
g2
g3
g79
g80
g7
g6
g9
g9
g8
g9
g2
g1
________ 49 ________ 43 ________ 491
g9
g6
g6
g3
g96
g6
g6
Enter a string: school Enter a letter to check: o 251
g7
g8
Enter a string: school Enter a letter to check: o 251
g6
_______411____352
________ 411 ________ 354 ________ 355
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 257
_______46____357
g6
g7
Enter a string: school Enter a letter to check: o 26172
________ 351 ________ 354 ________ 355
g9
Enter a string: school Enter a letter to check: o 257
g7
g9
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
g7
Enter a string: school Enter a letter to check: o 257
g7
_______47____16182
g7
g79
g41
g42
Enter a string: school Enter a letter to check: o 2534
g7
g6
g9
g79
Enter a string: school Enter a letter to check: o 2539____16189
Enter a string: school Enter a letter to check: o 255
g9
g2
Enter a string: school Enter a letter to check: o 26193
g9
g9
g7
Enter a string: school Enter a letter to check: o 26196
_______46____3550____16199
g58
_______49____16202
g9____3556
g7
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 257
g70
PHP
Enter a string: school Enter a letter to check: o 2561
Enter a string: school Enter a letter to check: o 2562
Enter a string: school Enter a letter to check: o 2618
Enter a string: school Enter a letter to check: o 2564
g3____3566____424
g6
g7
g8
g7____3572
Enter a string: school Enter a letter to check: o 2573
g7
g3
g56_______3577
Enter a string: school Enter a letter to check: o 2578
Enter a string: school Enter a letter to check: o 2577
Enter a string: school Enter a letter to check: o 2580
g5
g56____3566
g58
Enter a string: school Enter a letter to check: o 2577
Enter a string: school Enter a letter to check: o 2586
g7
g6
g9
g3
g56______3592
Enter a string: school Enter a letter to check: o 2593
Enter a string: school Enter a letter to check: o 2577
Enter a string: school Enter a letter to check: o 2595
Enter a string: school Enter a letter to check: o 2596
Enter a string: school Enter a letter to check: o 2592
Enter a string: school Enter a letter to check: o 2580
g5
g56
Enter a string: school Enter a letter to check: o 2566
g58
Enter a string: school Enter a letter to check: o 2592
Enter a string: school Enter a letter to check: o 2586
g9
g6
g6
g7
g56_______3566
Enter a string: school Enter a letter to check: o 261711
Enter a string: school Enter a letter to check: o 2577
Enter a string: school Enter a letter to check: o 261713
Enter a string: school Enter a letter to check: o 2566
Enter a string: school Enter a letter to check: o 261711
Enter a string: school Enter a letter to check: o 2592
Enter a string: school Enter a letter to check: o 261717
g6
g6
Enter a string: school Enter a letter to check: o 251____3572
g79
Enter a string: school Enter a letter to check: o 2577
Enter a string: school Enter a letter to check: o 255
________ 351 ________ 354 ________ 355
_______46____357
g9
Enter a string: school Enter a letter to check: o 257
g9
g7
g56______3572
Enter a string: school Enter a letter to check: o 261736
________ 46 ________ 354 ________ 355
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 2572
Enter a string: school Enter a letter to check: o 255
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
Enter a string: school Enter a letter to check: o 261748
g79
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
Enter a string: school Enter a letter to check: o 261752
Enter a string: school Enter a letter to check: o 261753____161748
g58
g7
g56____161752
Enter a string: school Enter a letter to check: o 261759
g7
Enter a string: school Enter a letter to check: o 261761
g56
Enter a string: school Enter a letter to check: o 26199
g58
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261761
g56
Enter a string: school Enter a letter to check: o 261748
Enter a string: school Enter a letter to check: o 261711
Enter a string: school Enter a letter to check: o 261752
Enter a string: school Enter a letter to check: o 261772
Enter a string: school Enter a letter to check: o 261773
Enter a string: school Enter a letter to check: o 261774
Javascript
Enter a string: school Enter a letter to check: o 261775
Enter a string: school Enter a letter to check: o 261776
Enter a string: school Enter a letter to check: o 2618
Enter a string: school Enter a letter to check: o 2564
Enter a string: school Enter a letter to check: o 261779
g6
g7
_______47____161783
_______47____161785
_______47____43____161788
g7
g6
g9____43____161793
g9
g6
g6
g7
g8
g6
g6
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 252
________ 351 ________ 354 ________ 355
_______46____357
g9
Enter a string: school Enter a letter to check: o 257
g9
g7
Enter a string: school Enter a letter to check: o 26172
________ 46 ________ 354 ________ 355
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
Enter a string: school Enter a letter to check: o 261823
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
Enter a string: school Enter a letter to check: o 261826
g7
Enter a string: school Enter a letter to check: o 26196
g7
Enter a string: school Enter a letter to check: o 261830
Enter a string: school Enter a letter to check: o 26199
g58
Enter a string: school Enter a letter to check: o 26202
_______47____161835
g7
Enter a string: school Enter a letter to check: o 261837
Enter a string: school Enter a letter to check: o 261838
Đầ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.
- 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
- 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 261839
Enter a string: school Enter a letter to check: o 26212
Enter a string: school Enter a letter to check: o 261841
Enter a string: school Enter a letter to check: o 2621
g0
g1
Enter a string: school Enter a letter to check: o 261845
Enter a string: school Enter a letter to check: o 261846
Enter a string: school Enter a letter to check: o 261847
g2
Enter a string: school Enter a letter to check: o 261849
g4
g5
g6
g7
Enter a string: school Enter a letter to check: o 261854
g7
g2
Enter a string: school Enter a letter to check: o 261857
_______47____161859
g7____161861
g7
g2
Enter a string: school Enter a letter to check: o 261864
_______47____161866
g7
g2
Enter a string: school Enter a letter to check: o 261869
g7
g3
g4____45
g09
g9
Enter a string: school Enter a letter to check: o 261876
g2
Enter a string: school Enter a letter to check: o 261878
g9
g7
Enter a string: school Enter a letter to check: o 261881
g6
Enter a string: school Enter a letter to check: o 261883
g6
Enter a string: school Enter a letter to check: o 261885
g9
Enter a string: school Enter a letter to check: o 257____16202
g7
Enter a string: school Enter a letter to check: o 261890
g6
Enter a string: school Enter a letter to check: o 261883
g7
Enter a string: school Enter a letter to check: o 257
g7
g3
Enter a string: school Enter a letter to check: o 261897
g9
g7
Enter a string: school Enter a letter to check: o 261900
g6
g7
Enter a string: school Enter a letter to check: o 261903
Enter a string: school Enter a letter to check: o 261904
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 261906
g6
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261910
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 261906
g9
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
g2
Enter a string: school Enter a letter to check: o 26184
g6
g7
g4
Enter a string: school Enter a letter to check: o 26188
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
g7
g2
Enter a string: school Enter a letter to check: o 261932
g7
g7
Enter a string: school Enter a letter to check: o 26196
g9
Enter a string: school Enter a letter to check: o 26198
Enter a string: school Enter a letter to check: o 26199
Enter a string: school Enter a letter to check: o 255
_______47____16202
g9
Enter a string: school Enter a letter to check: o 26204
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26207
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26209
Enter a string: school Enter a letter to check: o 26210
C
Enter a string: school Enter a letter to check: o 26211
Enter a string: school Enter a letter to check: o 26212
Enter a string: school Enter a letter to check: o 26213
Enter a string: school Enter a letter to check: o 2620
Enter a string: school Enter a letter to check: o 261845
Enter a string: school Enter a letter to check: o 261846
Enter a string: school Enter a letter to check: o 261847
g2
Enter a string: school Enter a letter to check: o 261849
g4
g5
g6
g7
Enter a string: school Enter a letter to check: o 261854
g7
g2
Enter a string: school Enter a letter to check: o 261857
_______47____161859
g7____161861
g7
g2
Enter a string: school Enter a letter to check: o 261864
_______47____161866
g7
g2
Enter a string: school Enter a letter to check: o 261869
g7
g3
g4____45
g09
g9
Enter a string: school Enter a letter to check: o 261876
g2
Enter a string: school Enter a letter to check: o 261878
g9
g7
Enter a string: school Enter a letter to check: o 261881
g6
Enter a string: school Enter a letter to check: o 261883
g6
Enter a string: school Enter a letter to check: o 261885
g9
Enter a string: school Enter a letter to check: o 257____16202
g7
Enter a string: school Enter a letter to check: o 261890
g6
Enter a string: school Enter a letter to check: o 261883
g7
Enter a string: school Enter a letter to check: o 257
g7
g3
Enter a string: school Enter a letter to check: o 261897
g9
g7
Enter a string: school Enter a letter to check: o 261900
g6
g7
Enter a string: school Enter a letter to check: o 261903
Enter a string: school Enter a letter to check: o 261904
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 261906
g6
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261910
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 261906
g9
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
g2
Enter a string: school Enter a letter to check: o 26184
g6
g7
g4
Enter a string: school Enter a letter to check: o 26188
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
g7
g2
Enter a string: school Enter a letter to check: o 261932
g7
g7
Enter a string: school Enter a letter to check: o 26196
g9____455____456
Enter a string: school Enter a letter to check: o 26199
g58
_______47____16202
g9
g55____456
g64
g65
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26207
Enter a string: school Enter a letter to check: o 257
Java
Enter a string: school Enter a letter to check: o 262061
g71
g72
g75
g72
Enter a string: school Enter a letter to check: o 262066
g41
g76
Enter a string: school Enter a letter to check: o 262069
g6
g7
g41
g79
g2
Enter a string: school Enter a letter to check: o 262075
g7
g6
g9
Enter a string: school Enter a letter to check: o 261854
g9
g2
g89____490
Enter a string: school Enter a letter to check: o 262084
g9
Enter a string: school Enter a letter to check: o 261859
g9____161861
g9
g2
Enter a string: school Enter a letter to check: o 262091
Enter a string: school Enter a letter to check: o 262092
Enter a string: school Enter a letter to check: o 255
g9
g2
Enter a string: school Enter a letter to check: o 262096
Enter a string: school Enter a letter to check: o 262097
g2
Enter a string: school Enter a letter to check: o 262099
g9____161866
g9
g2
Enter a string: school Enter a letter to check: o 262104
Enter a string: school Enter a letter to check: o 262097
g2
Enter a string: school Enter a letter to check: o 262099
g9
g3 ________ 494
g95 ________ 496
g9
g6
g6
Enter a string: school Enter a letter to check: o 261876
g2
Enter a string: school Enter a letter to check: o 262118
g6
g7
Enter a string: school Enter a letter to check: o 262121______495
g24
g6
g6
Enter a string: school Enter a letter to check: o 251____161883
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 261885
_______46____357
g6
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 262121
g90
g24
Enter a string: school Enter a letter to check: o 251____161883
g9
Enter a string: school Enter a letter to check: o 257
g9
g3 ________ 494
g95 ________ 162146
g9
g6
g6
g7
Enter a string: school Enter a letter to check: o 262151____162152
g24
g6
g6
Enter a string: school Enter a letter to check: o 251
g7
Enter a string: school Enter a letter to check: o 262158____490
g24
Enter a string: school Enter a letter to check: o 261904
g11
Enter a string: school Enter a letter to check: o 261906
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261910
g11
Enter a string: school Enter a letter to check: o 261906
_______46____357
g9
Enter a string: school Enter a letter to check: o 257
g9
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
g7
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
g7
g41
g79
g42
Enter a string: school Enter a letter to check: o 262184
g7
g6
g9
g47
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
g9
g2
Enter a string: school Enter a letter to check: o 261932
g9
g7
g56____490
g24
_______46____460____16199
g58
_______49____16202
g6
g006
g7
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 257
g010
Python3
g011
g72
g013
g014
g015
g79
Enter a string: school Enter a letter to check: o 262092
g73
g019
g7
_______47____4022
g7
g78
g79
g80
g90
_______47____4029
_______47____4031
g7
g033
g79
Enter a string: school Enter a letter to check: o 261711
g95
g3
g84
g85
g86
g041
_______47____4043
g7
g40
g79
Enter a string: school Enter a letter to check: o 261711
g95
g3
g84
g85
g86
g041
g7
g3
g84
g85
g86
g56
g88
g89
g9
g063____479
g065
g066
g9
g7
g56_______4033
g071
g79
g79
g95
g22
g6
g033____4071
g97
g79
g90
g6
g083______479
g84
g9
g087
g56
g033
g071
g79
g79
g90
g22
g6
g033____4071
g97
g79
g90
g7
g3
g84
g85
g86
g106
g9
g7
g56_______4033
g111
g79
g79
Enter a string: school Enter a letter to check: o 262152
g22
g6
g7
g118
g79
g79
g80
g90
g22
g124
Enter a string: school Enter a letter to check: o 251
g78
g79
g128
_______46____4087____4131
Enter a string: school Enter a letter to check: o 251
g78
g79
g128
g7
Enter a string: school Enter a letter to check: o 26179
g78
g28
g7
g30
g79
g79
g144
g34
g7
g36
g79
Enter a string: school Enter a letter to check: o 26189
g7
g40
g79
Enter a string: school Enter a letter to check: o 261849
g36
g58
g7
g7
g47
g79
g79
g80
g90
g22
g9
g54____456
Enter a string: school Enter a letter to check: o 26199
g24
_______47____16202____434
_______49____454____456
g36
g65
g9
g178
g179
C#
g180
g71
Enter a string: school Enter a letter to check: o 2621
g72
g41
g76
Enter a string: school Enter a letter to check: o 262069
g6
g7
g41
g79
g2
Enter a string: school Enter a letter to check: o 261849
g79
g80
g7
g6
g9
Enter a string: school Enter a letter to check: o 261854
g9
g2
Enter a string: school Enter a letter to check: o 261857
g202
g9
Enter a string: school Enter a letter to check: o 261859
g9____161861
g9
g2
g209
g9
g2
g212
Enter a string: school Enter a letter to check: o 262097
g2
Enter a string: school Enter a letter to check: o 262099
g202
g9____161866
g9
g2
g221
Enter a string: school Enter a letter to check: o 262097
g2
Enter a string: school Enter a letter to check: o 262099
g202
________ 49 ________ 43 ________ 491
g9
g6
g6
Enter a string: school Enter a letter to check: o 261876
g2
Enter a string: school Enter a letter to check: o 261878
g6
g7
g237
g6
g6
Enter a string: school Enter a letter to check: o 251____161883
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 261885
_______46____357
g6
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261890
Enter a string: school Enter a letter to check: o 251____161883
g9
Enter a string: school Enter a letter to check: o 257
g202
g9
g3
g257
g9
g6
g6
g7
g262
g6
g6
Enter a string: school Enter a letter to check: o 251
g7
Enter a string: school Enter a letter to check: o 261903
Enter a string: school Enter a letter to check: o 261904
g11
Enter a string: school Enter a letter to check: o 261906
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261910
g11
Enter a string: school Enter a letter to check: o 261906
_______46____357
g9
Enter a string: school Enter a letter to check: o 257
g202
g9
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
g7
Enter a string: school Enter a letter to check: o 257
g202
_______47____16182
g7
g41
g79
g42
g294
g7
g6
g9
g79
Enter a string: school Enter a letter to check: o 2539____16189
Enter a string: school Enter a letter to check: o 255
g9
g2
Enter a string: school Enter a letter to check: o 261932
g9
g7
Enter a string: school Enter a letter to check: o 26196
_______46____4309____16199
g58
_______49____16202
_______46____4315
g7
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 257
g202
g320
Javascript
Enter a string: school Enter a letter to check: o 261775
_______47____4323
g7
g7____3564
g327
g7
g6
g9
Enter a string: school Enter a letter to check: o 261854
_______49____4333
g334
g9
Enter a string: school Enter a letter to check: o 261859
g9____161861
_______49____4340
g9____4342
Enter a string: school Enter a letter to check: o 262097
g344
_______49____4346
g334
g9____161866
g9
g351
Enter a string: school Enter a letter to check: o 262097
g344
_______49____4355
g334
g9
g3
Enter a string: school Enter a letter to check: o 261788
g9
g6
_______46____4363
g6
g7
g237
g6
g6
Enter a string: school Enter a letter to check: o 251____161883
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 261885
_______46____357
g6
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261890
Enter a string: school Enter a letter to check: o 251____161883
g9
Enter a string: school Enter a letter to check: o 257
g334
g9
g3
g257
g9
g6
g6
g7
g262
g6
g6
Enter a string: school Enter a letter to check: o 251
g7
Enter a string: school Enter a letter to check: o 261903
Enter a string: school Enter a letter to check: o 261904
g11
Enter a string: school Enter a letter to check: o 261906
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 26202
g7
Enter a string: school Enter a letter to check: o 261910
g11
Enter a string: school Enter a letter to check: o 261906
_______46____357
g9
Enter a string: school Enter a letter to check: o 257
g334
g9
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26180
g7
Enter a string: school Enter a letter to check: o 257
g7
g7____161823
Enter a string: school Enter a letter to check: o 26189
Enter a string: school Enter a letter to check: o 255
_______47____4422
g7
g7
Enter a string: school Enter a letter to check: o 26196
g426
Enter a string: school Enter a letter to check: o 261830
Enter a string: school Enter a letter to check: o 26199
g58
_______47____16202
g426
Enter a string: school Enter a letter to check: o 261835
g434
Enter a string: school Enter a letter to check: o 261838
Đầ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
g436
________ 4437 ________ 4438 ________ 472 ________ 4440
g441
g442
g73
g444
g334
_______47____4447
_______47____4449
g7____4451____479
g453
g7
_______47____4456
g7
g3
g84
g85
g461
g9
g7____4464
g90
g22
_______46____454____4469
_______46____354
g28
________ 479 ________ 479 ________ 16189
g476
g477
g478
Đầ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
- Đi qua chuỗi từ trái sang phải
- 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ó
- 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 đó
- Nếu chỉ mục hiện tại nhỏ hơn, hãy cập nhật chỉ mục
C++
g479
g480
g481
Enter a string: school Enter a letter to check: o 2621
g0
g1
g485
g4
g487
g7
g6
_______49____4491____44____499
g2
g495
g9
g4
g498
g499
Enter a string: school Enter a letter to check: o 255
________ 49 ________ 42 ________ 4503
g9
_______49____4506
g9
g3____456
g2
g511
g9
g6
________ 46 ________ 44 ________ 4516
g6
_______46____47____4520
_______46____16202
g6
g6
Enter a string: school Enter a letter to check: o 251____47____4527
Enter a string: school Enter a letter to check: o 251
g6
_______411____4531
_______411____4533
Enter a string: school Enter a letter to check: o 251
Enter a string: school Enter a letter to check: o 257
_______46____357
g6
g9
Enter a string: school Enter a letter to check: o 257
g9
g9
________ 49 ________ 16179 ________ 4545
g7
Enter a string: school Enter a letter to check: o 257
g548
g2
g550
_______47____4552
_______47____4554____4555
Enter a string: school Enter a letter to check: o 255
_______47____4558
g7
g7
Enter a string: school Enter a letter to check: o 26179
Enter a string: school Enter a letter to check: o 26207
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26209
g565
Java
g566
g567
g72
g75
g41
g76
g77
g334
g41
g79
g2
g577
g578
Enter a string: school Enter a letter to check: o 255
_______4334____4485
________ 4334
g41 ________ 479 ________ 44 ________ 4586
g334
g6
_______47____4590
g426
g79
Enter a string: school Enter a letter to check: o 262097
g594
g7
g4
g597____4499
Enter a string: school Enter a letter to check: o 255
g7
g2
g602
_______47____4506
g7
g3
g56
g2
g609
g95
g611
________ 4426 ________ 44 ________ 4614
g426
g7
g617
_______49____4619
_______4426____357
g426
Enter a string: school Enter a letter to check: o 26202
g6
g9
g7
g627
g628
g629
g628
g631
g9
Enter a string: school Enter a letter to check: o 257
_______4426____357
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
g545
g334
Enter a string: school Enter a letter to check: o 257
g334
g548
g334
g41
g79
g42
Enter a string: school Enter a letter to check: o 262184
g334
g6
_______47____4552
_______47____4655____4555
Enter a string: school Enter a letter to check: o 255
_______47____4659
_______47____4661____4662
g58
g334
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 257
g667
Python3
g668
g669
________ 4670 ________ 479 ________ 4578
g673
g73
g675
g7
g677
g79
g679
g680
g7
g682______479
g499
g7
g686______479
g670
g7
_______47____4691
g7
g84
g79
g95
g7
g697
g698
g88
g89
g9
g78
g79
g704
g9
g7
g56____4708
g118
g85
g677
g712
g6
g677____4715
g79
g84
g9
Enter a string: school Enter a letter to check: o 26202____434
g6
g7
g56____4677
g725
Enter a string: school Enter a letter to check: o 251
g686
g79
g677
g730
Enter a string: school Enter a letter to check: o 251
g682
g79
g78
g9
g84
g97
g79
g90
g7
Enter a string: school Enter a letter to check: o 26179
g682
g7
g30
g79
g79
g33
g34
g334
_______47____4751
g7____4753____479
g555
_______47____454____4758____479
g760
_______47____454____456
g662
g765
g79
g760
g768
C#
g769
Enter a string: school Enter a letter to check: o 2621
g72
Enter a string: school Enter a letter to check: o 2621
g773
________ 441 ________ 479 ________ 476 ________ 477
g334
g79
g2
g781
_______4334____4485
g334
g41
g79
g4
g788
g79
g80
g334
g6
_______47____4794____44____499
g2
g798
g426
g79
Enter a string: school Enter a letter to check: o 262097
g794
g4
g99
g2
g806
g7
g4
g597____4499
Enter a string: school Enter a letter to check: o 255
g7
g2
g602
_______47____4506
g7
g3
g56______42
g821
g426
g4
g824
g426
g7
g827
_______49____4829
_______4426____357
g426
Enter a string: school Enter a letter to check: o 26202
g6
g9
g7
g837
g628
g839
g628
g631
g9
Enter a string: school Enter a letter to check: o 257
_______4426____357
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
g545
g334
Enter a string: school Enter a letter to check: o 257
g334
g548
________ 4334
g41 ________ 479 ________ 442 ________ 4294
g334
g6
_______47____4552
g7
g79
g866
g555
Enter a string: school Enter a letter to check: o 255
_______47____4870
_______47____4309____4662
g58
g334
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 257
g667
Javascript
Enter a string: school Enter a letter to check: o 261775
g880
g881
g485
Enter a string: school Enter a letter to check: o 2564
g884
g6
g7____4887
Enter a string: school Enter a letter to check: o 262097
g889
g7____4891____4499
Enter a string: school Enter a letter to check: o 255
_______47____4895
g9
_______47____4506
_______47____43____4901
g7
g6
g9
g905
g6
g9
g7____4909
_______49____16202
g9
g6
_______46____47____4916
g6
g6
_______351____4629
Enter a string: school Enter a letter to check: o 251____4631
_______46____357
_______49____4926
g7
Enter a string: school Enter a letter to check: o 257
g7
Enter a string: school Enter a letter to check: o 26179
g545
Enter a string: school Enter a letter to check: o 257
Enter a string: school Enter a letter to check: o 26182
g552
________ 4935 ________ 4555 ________ 355
g938
g7
g940
Enter a string: school Enter a letter to check: o 261838
Đầu ra
Enter a string: school Enter a letter to check: o 25
Độ 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