如何在字符串中获取重复字母的最大计数?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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP