这是我在牛客网上碰到的一道编程题,参考了某位大佬的写法,我稍微改善了一下
var s = 'aaabbaaac'; //设置想要输入的字符串字符串
var j = 1;
var result = [];
for(var i = 0; i < s.length-1;){
while(s[i] === s[j]){
j++;
}
result.push(j-i);
i = j;
j++;
} //此时result=[3,2,3]
if(s[s.length-1] !== s[s.length-2]) result.push(1); //push最后一块碎片的长度,result=[3,2,3,1]
var max = 0
for(var i=0;i<result.length;i++){
max += result[i];
}
var num = max/result.length;
console.log(num.toFixed(2));
最终result:[3,2,3,1]
这是我在牛客网上碰到的一道编程题,参考了某位大佬的写法,我稍微改善了一下