21xrx.com
2024-11-05 17:24:57 Tuesday
登录
文章检索 我的文章 写文章
Java 字符串中出现次数最多的字符重复次数
2023-07-05 06:06:19 深夜i     --     --
Java 字符串 出现次数最多的字符 重复次数

Java 是一门广泛使用的编程语言,涉及的功能非常丰富。其中字符串处理是其重要的功能之一。在字符串中,我们可以找到出现次数最多的字符,以此为例,本文将会介绍如何使用 Java 找到字符串中出现次数最多的字符的重复次数。

Java 中有多种方法可以实现此功能,最常见的方法如下:

- 使用 HashMap:将字符串中的每个字符作为键存储在 HashMap 中,并将该字符在字符串中出现的次数作为值存储在 HashMap 中。然后,遍历 HashMap,找到出现次数最多的字符。这种方法的时间复杂度为 O(n)。

代码示例:


public static int findMostRepeatedCharWithHashMap(String str) {

  Map<Character, Integer> charMap = new HashMap<>();

  char[] charArr = str.toCharArray();

  for (char ch : charArr) {

    if (charMap.containsKey(ch)) {

      charMap.put(ch, charMap.get(ch) + 1);

    } else {

      charMap.put(ch, 1);

    }

  }

  int maxCount = 0;

  for (int count : charMap.values()) {

    maxCount = Math.max(maxCount, count);

  }

  return maxCount;

}

- 使用数组:创建一个大小为 256 的 int 类型数组,表示 ASCII 字符集的所有字符。遍历字符串中的每个字符,将该字符在 ASCII 表中的数值作为数组下标进行累加。最终,找到数组中最大的值即可。这种方法的时间复杂度为 O(n)。

代码示例:


public static int findMostRepeatedCharWithArray(String str) {

  int[] charCount = new int[256];

  char[] charArr = str.toCharArray();

  for (char ch : charArr) {

    charCount[ch]++;

  }

  int maxCount = 0;

  for (int count : charCount) {

    maxCount = Math.max(maxCount, count);

  }

  return maxCount;

}

无论是使用 HashMap 还是数组,Java 都提供了非常方便的实现方法。通过使用这些方法,我们可以轻松地找到字符串中出现次数最多的字符的重复次数。如果您在工作中需要处理字符串,这些方法可能会对您有所帮助。

  
  

评论区

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