比如输入字符串'abcaabcaaaaqwe',输出'aaaa',自己写的代码如下,整体思想就是把字符串转换为数组,对每一个数组元素求取连续出现的次数,保存在temp数组中。虽然可行,但是感觉很蹩脚,求一种更优的写法。function search(str) { let val,index,length,temp,arr; length=str.length; temp=new Array(length); temp.fill(0); arr=Array.from(str); for(let i=0;i<length-1;i++){ let n=1,j=i+1; while(j<=length){ if(arr[j]===arr[i]){ n++; }else{ break; } j++; } temp[i]=n; } val=Math.max(...temp); index=temp.indexOf(val); return str[index].repeat(val)}
1 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
function search(str) {
return str.match(/(\w)\1+/g).sort((x, y) => y.length - x.length)[0];
}
添加回答
举报
0/150
提交
取消