为了账号安全,请及时绑定邮箱和手机立即绑定

查找字符串中连续重复出现次数最多的字符,并返回该子串

查找字符串中连续重复出现次数最多的字符,并返回该子串

阿波罗的战车 2019-02-13 22:42:59
比如输入字符串'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];

}


查看完整回答
反对 回复 2019-02-17
  • 1 回答
  • 0 关注
  • 2386 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信