以下为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是字符串的长度。