这是一道大厂常考的代码题
-
Input: 'aaaabbbccd'
-
Output: 'a4b3c2d1',代表 a 连续出现四次,b连续出现三次,c连续出现两次,d连续出现一次
本题乍看非常简单,没啥难度,动手其实往往会卡壳,如果面试时会紧张,催你你会手足无措。
平时多练习吧哈哈哈。
function count(str) {
//设计一个二维数组分别储存a,b,c,d等等。内层数组的长度就是统计次数
let arr = [];
for(let i=0; i<str.length; i++){
let flag = false;
for(let j=0; j<arr.length; j++){
if(arr[j][0] && arr[j][0] === str[i]){
flag = true;
arr[j].push(str[i]);
break;
}
}
if(flag === false){
arr.push([str[i]]);
}
}
let result = '';
arr.map(x=>{
result = result + x[0]+x.length;
})
return result;
}
console.log(count('aaaabbbccd'))
结果: