Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中查找字符串的第二级重复字符_Java - Fatal编程技术网

如何在java中查找字符串的第二级重复字符

如何在java中查找字符串的第二级重复字符,java,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 } 将此作为解决问题的提示 您可以创

我想在java中找到给定字符串的第二个最大重复字符

public static void main(String args[]){

    String str = "gautamsingnavinojhail";\*

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

将此作为解决问题的提示

您可以创建一个
映射
,该映射包含特定字符在字符串中出现的次数

从左到右开始,检查该角色是否已存在于地图中。如果存在,则将该值增加1。如果不存在,则将其放入地图中,起始值为1


一旦终止,循环遍历映射并找到第二个最常用的元素

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

  • 创建一个HashMap,它将字符存储为键,其出现计数存储为整数值
  • 逐字符迭代给定的字符串
  • 对于每个字符,使用containsKey()方法o hashmap检查它是否已经存在于hashmap中
  • 如果是,只需增加计数
  • 如果否,则将字符作为键添加到贴图中,并将其计数值设置为1

  • 真为你高兴。你已经试过什么了?