问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript 查找字符串中某字符连续出现最多的次数,注意是连续.

发布网友 发布时间:2022-04-23 03:56

我来回答

4个回答

热心网友 时间:2022-04-23 05:25

function TestMaxCount(s) {
    var chAry = new Array();
    var cnAry = new Array();
    var i, idx, ch, continueCh = "", continueCn = 1;
    var maxCh = "", maxCn = 0;
    
    for (i = 0; i < s.length; i++) {
        ch = s.slice(i, i + 1);
        if (ch != continueCh) {     // 字符与前一个不同
            if (continueCh != "") {     // 如果前一字符不是空串, 要更新重复数组的最大重复次数值
                idx = GetIndex(chAry, continueCh);
                if (idx == -1) {
                    chAry.push(continueCh);
                    cnAry.push(continueCn);
                }
                else {
                    if (continueCn > cnAry[idx]) {  // 如果新的连续重复次数大于原次数, 进行更新
                        cnAry[idx] = continueCn;
                    }
                }
            }
            
            if (continueCn > maxCn) {
                maxCn = continueCn;
                maxCh = continueCh;
            }
            
            continueCn = 1;         // 重复次数归1
            continueCh = ch;        // 重复字符置为当前获取到的字符
        }
        else {
            continueCn++;
        }
    }
    
    if (continueCh != "") {
        idx = GetIndex(chAry, continueCh);
        if (idx == -1) {
            chAry.push(continueCh);
            cnAry.push(continueCn);
        }
        else {
            if (continueCn > cnAry[idx]) {  // 如果新的连续重复次数大于原次数, 进行更新
                cnAry[idx] = continueCn;
            }
        }
        if (continueCn > maxCn) {
            maxCn = continueCn;
            maxCh = continueCh;
        }
    }
    // 返回资料chAry为字符数组, cnAry为对应字符最大连续次数, maxCh重复次数最多的字符, maxCn重复最多次数
    return { chAry: chAry, cnAry: cnAry, maxCh: maxCh, maxCn: maxCn };
}
function GetIndex(ary, ch) {        // 获得元素在数组中的索引
    var i;
    
    for (i = 0; i < ary.length; i++) {
        if (ary[i] == ch) {
            return i;
        }
    }
    
    return -1;
}
var data = TestMaxCount("121211112122222121222");
window.alert(data.maxCh + ": " + data.maxCn);

当然, 应该可以用正则表达式使代码更紧凑.

热心网友 时间:2022-04-23 06:43

var s = 'aaaaabbbbsssssaaaaccccdddssssss', reg = /(.)\1*/g, r = {}, x;
x = s.match(reg);
if(x){
    for(var i = x.length - 1; i > -1; i--){
        if(!r[x[i][0]]) r[x[i][0]] = x[i].length;
        else r[x[i][0]] = Math.max(r[x[i][0]], x[i].length)
    }
};
x = [];
for(var p in r){
    if(r.hasOwnProperty(p)) x.push(p + '最多连续出现了' + r[p] + '次')
}
alert(x.join('\r\n'));

热心网友 时间:2022-04-23 08:18

String content="121211112122222121222";
int num=0;
int maxNum=0;
char maxContent='';
for(int i=0;i<content.length-2;i++)
{
char a=content.subString(i,i+1);
char b=content.subString(i+1,i+2);
if(a.equals(b))
{
num++;
}
else
{
if(num>maxContent)
{
char maxContent=b;
maxNum=num;
}
num=0;
}
}
System.out.print("连续最长的字符串是"+maxCountent+",出现的次数为"+maxNum);

字符串中出现两个连续出现次数一样的字符,选取前者
以上纯属手敲,没有测试。大概思路就是这样

热心网友 时间:2022-04-23 10:09

var str = "121211112122222121111111222";
//定义一个函数
/**
var str 需要查询的字符串
var regexp 正则表达式
return maxLen
*/
var getMaxLen = function (str,regexp){
var maxLen = 0;
result =str.match(regexp);
for(var i=0; i<result.length; i++){
if(result[i].length > maxLen){
maxLen = result[i].length;
}
}
return maxLen
};
// 1连续的最大长度
alert(getMaxLen(str,/11+/ig));
// 2连续的最大长度
alert(getMaxLen(str,/22+/ig));
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
膀胱癌医生要为什么要检查上尿路? 游览器书签怎样添加到手机桌面 玫瑰花是早上开还是晚上开 玫瑰是晚上开花吗 左拾遗是什么官左拾遗的解释 怎样炖羊肉好吃又烂 怎样炖羊肉软烂无膻味好吃 ...之心度君子之腹的意思以小人之心度君子之腹的解释以小人之心度君子... 以小人之心度君子之腹什么意思以小人之心度君子之腹出处介绍 苹果macbook pro开机音乐是什么 苹果台式电脑声音苹果电脑开机声音怎么设置 Auto CAD软件免费下载2007版怎么下载? 怎样下载并安装完全免费的AUTOCAD 2007 用电脑连接家庭音响 适合结婚典礼的歌曲 微信怎么解除登录验证?没有绑定手机号,没有绑定QQ号,只设置了和微信密码 微信4.5版本初次登入需要手机验证码怎么办?重新申请微信如何取消原先QQ绑定? 微信短信验证怎么取消 别人评论,点赞到底有什么好处 qq被别的微信绑定了,用qq账号密码登陆又要短信验证码,想问他们又是 百度评论别人被点赞多了,有什么用的 拉花抽芯铆钉有哪些用途? 鲜笋炒猪耳的常见做法? 超市里卖的那种袋装的鲜笋 那里面的水是什么水啊 淘宝卖的鲜笋怎么不会坏 鲜笋子抽空速冻怎么样? 厦门酸笋面的笋是什么笋啊?味道酸酸的还有一股味道!哪里有卖 洛阳哪里有卖炒菜的笋?是那种炒鱼香肉丝的,不是那种鲜笋。 我的Lenovo m 7400老是休眠,怎样处理? 国产版e-tron、Model Y即将到来,2020年新车展望|新能源车篇 飞利浦榨汁机hr1833转速多少 怎样考国际汉语资格证 藜麦含有蛋白质,藜麦的做法有哪些? 江南奥拓换了方向机,方向拉杆,球头后方向变重。什么原因?? 怎么用ctex写ieee中文论文 哪位大神会用ctex编排论文,我已经在word上写好了,只是不会用ctex排版,谁能帮我编写一下, ctex 怎么用啊?我用ctex写中文论文,以前的版本有cct&latex按钮,可是新版的没有了,找不到 用CTEX(Latex的中文版本)写论文中文标点出现在行首怎么解决? 谁会用ctex编写论文?急求,必有重谢! 山药买多了怎么保存 结爱 千岁大人的初恋第25集百度云资源 求大神分享《结爱? 千岁大人的初恋》百度网盘资源,是2018年由陈正道执导宋茜、黄景瑜等主演 《结爱.千岁大人的初恋》这部剧为啥这么火?在电视上看要开通超级影视VIP吗? 结爱千岁大人的初恋在哪里看 什么时候更新 结爱千岁大人的初恋什么时候播 在哪个台播出 腾讯播的网剧 《结爱·千岁大人的初恋》是哪个小说改编的?在电视端观看需要开通超级影视VIP吗? 什么是逻辑网络设计? 结爱·千岁大人的初恋什么时候播出,什么时候 通常网络设计分为哪几个阶段 《结爱》贺兰静霆是谁的儿子? 《结爱》陶家麟什么时候出轨的?