首页 > 编程语言 > 详细

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

时间:2018-12-12 11:39:20      阅读:352      评论:0      收藏:0      [点我收藏+]

实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符
如"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)

 

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

原文:https://www.cnblogs.com/aiyr/p/10107453.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!