• 算法积累(字符串转换驼峰,判断一个字符串中那个字母出现次数最多,并且出现了几次)


    因为算法比较烂,所以想做一下这方面的积累。

     尽量能够每天学习一个新算法吧。(不过估计很悬)

    好吧,今天第一个是字符串转换驼峰

    直接上代码

    var str = 'toupper-case';
        var arr = str.split('-');  //toupper,case
        for (var i = 1; i < arr.length; i++) {   //把除了第一个数组后面的数组的第一个值设置为大写然后大写字母和去掉第一个字符的剩下的字符进行拼合
            arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1);    
        };
        var str1 = arr.join('');  //join方法把数组转换成为字符串.....
        alert(str1);

     第二个是判断一个字符串中那个字母出现次数最多,并且出现了几次

    var str = 'aaaassssddddddd';
    var obj = {};
        var num  = 0;
        var value = '';
        for (var i = 0; i < str.length; i++) {
            if (!obj[str[i]]) {          
                obj[str[i]] = [];
            } else {
                obj[str[i]].push(str[i]);
            }
    
        };
        //var obj1 = {
        //    'a': ['a'],
        //    's': ['s', 's', 's', 's', 's', 's'],
        //    'd': ['d', 'd']
        //};
    
        for (var attr in obj) {
            if (num < obj[attr].length) {   //第一次a只有一位,那么num = 1,第二次s有N位,那么num = N , 第三次d小于n位,那么num还是n
                                            //这时候如果没有值大于num那么说明这个value是最多的字母 就可以返回当前的num和value 
                num = obj[attr].length;
                value = obj[attr][0];   
            }
    
    
        };
    
        alert(value + ',' +num)
  • 相关阅读:
    [NOI2003][bzoj1507] 文本编辑器 editor [splay]
    GDKOI 游记
    [填坑完毕] 寒假作业计划
    省选算法学习-数据结构-splay
    NOIP2017游记
    真·总结
    赛前
    十一黄(xun)金(lian)周感想
    9.17 模拟赛
    9.14 模拟赛
  • 原文地址:https://www.cnblogs.com/web-alibaba/p/4827541.html
Copyright © 2020-2023  润新知