• 面试题——找出出现次数最多的字符


    在面试中,这道题出现的概率相对来说还是比较高的,主要考到数组和字符串的灵活转换,而使用多种方法来完成则是加分项,体现了思维的开阔性。

    JSON方法

    function test2(str) {
        var json = {};
        var arr = str.split('');
    
        for (var i = 0; i < arr.length; i++){
            if (!json[arr[i]]){
                json[arr[i]] = 1;
            }else {
                json[arr[i]]+=1;
            }
        }
        var key = '';
        var value = 0;
        for (var name in json){
            if (json[name] > value){
                value = json[name];
                key = name;
            }
        }
        return  '出现次数最多的字符是:'+key+','+'出现的次数是'+value;
    }

    正则方法 : 相比之下正则方法要简单一些

     1 function test(str) {
     2     str = str.split('').sort().join('');//把字符串排序
     3     var re = /(w)1+/g; //1 代表和w 相同的字符,多次匹配+
     4 
     5     var key = '';
     6     var value = 0;
     7     str.replace(re,function (a,b) {
     8        // alert(a+'='+b) // aaa = a;
     9         if (value < a.length){
    10             value = a.length;
    11             key = b;
    12         }
    13     })
    14     return '出现次数最多的字符是:'+key+','+'出现的次数是'+value;
    15 }
  • 相关阅读:
    CoffeeScript
    Android Metrics
    Mac VPS
    Android UI Design
    Android Interactive Animation
    iOS8 with Swift
    What is MEAN?
    Mac OS X “to open Eclipse, you need a Java SE 6 runtime”
    Android Screen Orientation
    Android Sensor Shake(WeChat)
  • 原文地址:https://www.cnblogs.com/NTWang/p/6231480.html
Copyright © 2020-2023  润新知