[Easy] Find Most Frequent Character
1. Question Description
問題描述
實作一個函式,接收一個字串,並回傳該字串中出現次數最多的字元。
範例
findMostFrequentChar('abcccccccd'); // 'c'
findMostFrequentChar('hello world'); // 'l'
findMostFrequentChar('javascript'); // 'a'
2. Implementation Methods
實作方法
方法 1:使用物件計數(基礎版)
思路:遍歷字串,使用物件記錄每個字元的出現次數,然後找出出現次數最多的字元。
function findMostFrequentChar(str) {
// 初始化物件來儲存字元和計數
const charCount = {};
// 初始化記錄最大計數和字元的變數
let maxCount = 0;
let maxChar = '';
// 遍歷字串
for (let char of str) {
// 如果字元不在物件中,設定計數為 0
if (!charCount[char]) {
charCount[char] = 0;
}
// 增加這個字元的計數
charCount[char]++;
// 如果這個字元的計數大於最大計數
// 更新最大計數和最大字元
if (charCount[char] > maxCount) {
maxCount = charCount[char];
maxChar = char;
}
}
// 回傳最大字元
return maxChar;
}
// 測試
console.log(findMostFrequentChar('abcccccccd')); // 'c'
console.log(findMostFrequentChar('hello world')); // 'l'
時間複雜度:O(n),其中 n 是字串長度
空間複雜度:O(k),其中 k 是不同字元的數量