# 指针算法
// 寻找字符串中,连续重复次数最多的字符
const str = "aaaaaabbbbbbbccccccccccdddddddddddd";
// 指针
let i = 0;
let j = 0;
// 当前重复次数最多次数
let maxRepeatCount = 0;
let maxRepeatChar = "";
// 当 i 还在 str 的长度范围内的时候,需要继续寻找
// i 和 j 位置相同 i 动 j 后移
// i 和 j 位置不相同 i 去 j 的位置 j 后移
while (i <= str.length - 1) {
if (str[i] !== str[j]) {
console.log(
`索引${i} 和 索引${j}, 之间的内容连续相同!都是字母${str[i]}, 重复了${
j - i
}次`
);
if (j - i > maxRepeatCount) {
maxRepeatCount = j - i;
maxRepeatChar = str[i];
}
i = j;
}
j += 1;
}
console.log("maxRepeatCount", maxRepeatCount);
console.log("maxRepeatChar", maxRepeatChar);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33