如何获取字符串中重复字母的最大数量?的JavaScript
我们有一个包含一些重复字母的字符串,例如:
const a = "fdsfjngjkdsfhhhhhhhhhhhfsdfsd";
我们的工作是编写一个函数,该函数以连胜形式返回最大连续相同字母的计数。就像上面的字符串一样,字母h连续连续出现11次,因此我们的函数应该为该字符串返回11。
这个问题是此滑动窗口算法的一个很好的候选者,这里一个稳定的窗口将是包含连续字母的窗口,而一个包含不同元素的窗口是不稳定的。通过在末尾添加新字母并在开始处删除重复字母,窗口趋于变得稳定。
使用滑动窗口算法的该函数的代码为-
示例
const a = "fdsfjngjkdsfhhhhhhhhhhhfsdfsd";
const findMaximumRepeating = str => {
let max = 0;
for(let start = 0, end = 1; end < str.length; ){
if(str[end] === str[start]){
if(max < end - start + 1){
max = end - start + 1;
};
end++;
} else {
start = end;
};
};
return max;
};
console.log(findMaximumRepeating(a));输出结果
控制台中的输出将为-
11
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法