指针思想

2021/11/10 数据结构与算法算法

# 指针算法

// 寻找字符串中,连续重复次数最多的字符
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
Last Updated: 2022/9/18 下午9:15:31