如何在java中找到字符串的第二个hieghtest重复字符

时间:2016-03-09 12:00:27

标签: java

我想在java

中找到给定字符串的第二个最大重复字符
public static void main(String args[]){

    String str = "gautamsingnavinojhail";\*

    write the logic to print second highest repeated character
    *\
    System.out.println(2ndhighestcharacter);// i
}

2 个答案:

答案 0 :(得分:2)

以此作为解决问题的提示。

您可以创建一个Map<Character, Integer>地图,其中包含字符串中特定字符的出现次数。

从左到右,检查地图中是否已存在该字符。如果存在则将值递增1.如果不存在则将其放在地图中,起始值为1.

一旦通过地图终止循环并找到第二个最常用的元素。

答案 1 :(得分:0)

我建议在这里使用HashMap。以下是可用于识别最高重复字符的基本算法。

  1. 创建一个HashMap,它会将字符存储为键,并将其出现的计数作为整数值。
  2. 按字符迭代给定字符串
  3. 对于每个字符,使用containsKey()方法o hashmap检查它是否已存在于hashmap中。
  4. 如果是,只需递增计数
  5. 如果否,则将该字符作为键添加到Map并将其计数值设置为1