21xrx.com
2024-11-22 12:57:57 Friday
登录
文章检索 我的文章 写文章
Java 面试场景题:给定一个字符串,如何找到其中出现次数最多的字符以及出现次数?
2023-06-17 16:16:33 深夜i     --     --

在 Java 面试中,经常会遇到字符串相关的场景题。这一次,我们来解决一个实际问题:如何找到一个给定字符串中出现次数最多的字符以及出现次数?

思路:

1. 创建一个 HashMap 用于保存字符出现的次数。

2. 将字符串转换为字符数组。

3. 遍历字符数组,对于每个字符,如果它已经在 HashMap 中出现过,则将其出现次数加 1;否则,将其加入到 HashMap 中并将出现次数设置为 1。

4. 遍历 HashMap,找到出现次数最多的字符及其出现次数。

代码案例:


public static void findMostFrequentChar(String str) {

  char[] chars = str.toCharArray();

  Map charCount = new HashMap<>();

  for (char c : chars) {

    if (charCount.containsKey(c)) {

      charCount.put(c, charCount.get(c) + 1);

    } else {

      charCount.put(c, 1);

    }

  }

  int maxCount = 0;

  char mostFrequentChar = ' ';

  for (Map.Entry entry : charCount.entrySet()) {

    if (entry.getValue() > maxCount) {

      maxCount = entry.getValue();

      mostFrequentChar = entry.getKey();

    }

  }

  System.out.println("出现次数最多的字符是 " + mostFrequentChar + ",出现次数是 " + maxCount);

}

关键词:

1. Java 面试

2. 字符串

3. HashMap

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复