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