实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符 如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少)。并且比其他只出现一次的字符(如"d")首次出现的位置最靠前。

实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符
如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少)。并且比其他只出现一次的字符(如"d")首次出现的位置最靠前。

空间换时间

var str = 'ksafa;sldfkasddfklwewkelfeerueuruieo2dofjklksafa;sldfkasddfklwewkelfeerueuruieo2dofjkl'
function findMinStr(str){
    if(str.length === 0){
        return;
    }
    var obj = {};
    var minStr = str[0];
    for(var i = 0 ;i  < str.length ; i ++){
        if(!obj[str[i]]){
            obj[str[i]] = 1;
        }else{
            obj[str[i]] ++;
        }

        // 当前最小值与当前值比较
        if(obj[minStr]>obj[str[i]]){
            minStr = str[i]
        }

    }
    // console.log(obj)
    // console.log(minStr)
    return minStr;
}

findMinStr(str)

 

posted on 2018-12-12 11:34  _jackie  阅读(373)  评论(0编辑  收藏  举报

导航