查找并輸出字符串中出現(xiàn)次數(shù)最多的字母和出現(xiàn)的次數(shù)
偶然看到這道題,覺得出現(xiàn)頻率挺高睛挚,貌似經(jīng)衬ハ猓考溃蔫,自己試著寫了一遍,貌似看著有點(diǎn)不優(yōu)雅琳猫,歡迎高手指教~
//思路: 1.數(shù)組先排序
// 2.兩組指針伟叛,一組指針記錄歷史次數(shù)最多字母及次數(shù),一組指針記錄當(dāng)前字母及出現(xiàn)次數(shù)
getA() {
let a = 'sfgsdufegfvuidsvbeaaaaaaaaaiyvgsdfaaaasdassdshdashhbsdjghiuyhhg';
let arr = Array.from(a).sort();
let maxCount = 0,maxString = arr[0],currentCount = 1,currentString = arr[0];
arr.forEach((v,i) => {
currentString = v;
if(v === arr[i+1]){
currentCount++;
}else{
if(maxCount < currentCount){
maxCount = currentCount;
maxString = currentString;
}else if(maxCount == currentCount){
if(typeof maxString === 'string'){
maxString = Array.from(maxString)
maxString.push(currentString);
}else maxString.push(currentString)
}
currentCount = 1;
}
})
return typeof maxString === 'string' ? [maxString,maxCount] : [maxString.join(' '),maxCount]
}
// 輸出方式具體看題目要求
console.log(...getA());