前端手写代码面试题
目录

编写一个函数,找出字符串中出现次数最多的字符

· 约 3 分钟读完 · 第 101 / 125 章

推荐答案

本题详细解读

1. 问题分析

我们需要找出字符串中出现次数最多的字符。这个问题可以通过以下步骤解决:

  • 遍历字符串,统计每个字符出现的次数。
  • 找出出现次数最多的字符。

2. 代码实现

  • charMap:用于存储每个字符及其出现次数的对象。
  • maxChar:用于存储当前出现次数最多的字符。
  • maxCount:用于存储当前最大出现次数。

步骤1:统计字符出现次数

我们使用一个 for...of 循环遍历字符串中的每个字符,并在 charMap 中记录每个字符的出现次数。

步骤2:找出出现次数最多的字符

我们使用一个 for...in 循环遍历 charMap,找出出现次数最多的字符,并更新 maxChar 和 maxCount。

3. 复杂度分析

  • 时间复杂度:O(n),其中 n 是字符串的长度。我们需要遍历字符串两次,一次统计字符出现次数,一次找出最大出现次数的字符。
  • 空间复杂度:O(m),其中 m 是字符串中不同字符的数量。我们需要一个对象来存储每个字符的出现次数。

4. 示例

对于字符串 "hello world",字符 'l' 出现了 3 次,是出现次数最多的字符。因此,函数返回 'l'。

5. 注意事项

  • 如果字符串中有多个字符出现次数相同且都是最大值,函数将返回第一个遇到的字符。
  • 如果字符串为空,函数将返回空字符串 ''。