连续题库
2024年04月09日
一、连续字符
给你一个字符串 s
,字符串的能量定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串 s
的 能量。
示例一
输入:s = "leetcode"
输出:2
解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。
示例二
输入:s = "abbcccddddeeeeedcba"
输出:5
解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。
1.1 一次遍历
思路
-
初始化当前字符连续出现次数
cnt
为111
-
从
s[1]
开始,向后遍历字符串,如果s[i]=s[i-1]
,则将cnt
加一,否则将cnt
重置为111
。
实现
function maxPower(s){
let ans = 1;
let cnt = 1;
for(let i=1; i<s.length; i++){
if(s[i] === s[i-1]){
++cnt;
ans = Math.max(ans, cnt);
}else{
cnt = 1;
}
}
return ans;
}