跳到主要内容

连续题库

2024年04月09日
柏拉文
越努力,越幸运

一、连续字符


给你一个字符串 s ,字符串的能量定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串 s 的 能量。

示例一

输入:s = "leetcode"
输出:2
解释:子字符串 "ee" 长度为 2 ,只包含字符 'e'

示例二

输入:s = "abbcccddddeeeeedcba"
输出:5
解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e'

1.1 一次遍历

思路

  1. 初始化当前字符连续出现次数 cnt111

  2. 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;
}