zoukankan      html  css  js  c++  java
  • 【1】求字符串出现次数最多的字符及次数

     1 package com.exe.test1;
     2 
     3 import java.util.HashMap;
     4 import java.util.Map;
     5 
     6 /**
     7  * 输入一串字符串,求出重复次数最多的字母
     8  * @author WGS
     9  */
    10 public class Exe1 {
    11 
    12     public static String getRepeatCharacter(String str){
    13         StringBuilder sb=new StringBuilder(128);
    14         Map<Character,Integer> map=new HashMap<>();//Character:将要添加额字符,Integer:字符对应的次数
    15         
    16         //aavzbbcdeaabb
    17         for(int i=0;i<str.length();i++){
    18             char c=str.charAt(i);
    19             //map逐个添加str字符,如果含有将要添加的字符,就将对应的次数+1
    20             if(map.containsKey(c)){
    21                 map.put(c, map.get(c)+1);
    22             }
    23             //如果不含有将要添加的字符,即为第一次添加,将其次数设置为1
    24             else{
    25                 map.put(c, 1);
    26             }
    27         }
    28         //获取次数最多的
    29         int max=Integer.MIN_VALUE;
    30         //先遍历Map中的value值,即字符对应的次数,找到最大的那个次数
    31         for(Map.Entry<Character,Integer> entrySet:map.entrySet()){
    32             Integer value=entrySet.getValue();
    33             //获取value值最大那个
    34             if(max < value){
    35                 max = value;
    36             }
    37         }
    38         //再次遍历Map,如果字符对应的次数与max相等,即表明此字符出现次数最多
    39         for(Map.Entry<Character,Integer> entrySet:map.entrySet()){
    40             Character key=entrySet.getKey();
    41             Integer value=entrySet.getValue();
    42             if(value==max){
    43                 sb.append(key).append(":").append(value).append("
    ");
    44             }
    45         }
    46         return sb.toString();
    47     }
    48     public static void main(String[] args) {
    49         System.out.println("出现次数最多的字符及次数是::"+getRepeatCharacter("eaafffvzebbcsdafedeaabffffebefff"));
    50     }
    51 
    52 }
  • 相关阅读:
    【JavaWeb】Hibernate Dao层设计
    【C#】身份证识别(一):身份证号定位
    【JavaWeb】SpringMVC重定向页面取值
    关于chrome扩展的东西
    【C#】基于Opencv/Emgucv的身份证识别
    Bashware
    【java多线程】分段阶乘计算
    【java】多项式计算(中缀转后缀)
    iOS  OTA问题排查【itms-servers协议在线安装ipa包】
    【深度学习】BP算法分类iris数据集
  • 原文地址:https://www.cnblogs.com/noaman/p/5904978.html
Copyright © 2011-2022 走看看