以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - JavaScript 代码题
145. 最多重复出现的字符
一种可行的实现方法是利用一个对象来记录每个字符出现的次数,然后再遍历对象找到出现次数最大的字符或字符数组。
代码如下:
function count(str) {
const countMap = {};
let maxCount = 0;
for (let i = 0; i < str.length; i++) {
const char = str[i];
countMap[char] = countMap[char] ? countMap[char] + 1 : 1;
maxCount = Math.max(maxCount, countMap[char]);
}
const frequentlyChar = Object.keys(countMap).filter((char) => countMap[char] === maxCount);
return frequentlyChar.length === 1 ? frequentlyChar[0] : frequentlyChar;
}
时间复杂度为O(n),空间复杂度为O(n),其中n是字符串的长度。