题目:
给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。
请你返回字符串的能量。
示例 1:
输入:s = "leetcode"
输出:2
解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。
示例 2:输入:s = "abbcccddddeeeeedcba"
输出:5
解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/consecutive-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:
状态转移方程 max=Math.max(sign,max); max为所有最长连续字符串长度,sign为当前连续字符串长度,取两者最大值。
代码:
/**
* @param {string} s
* @return {number}
*/
var maxPower = function(s) {
var code=s[0];
var max=1;
var sign=1;
for(let i=1;i<s.length;i++){
if(s[i]==code){
sign++;
max=Math.max(sign,max);
}
if(s[i]!=code){
code=s[i];
sign=1;
}
}
return max;
};