zoukankan      html  css  js  c++  java
  • 面试题 字符串中找出现次数最多的字母以及次数

    @Test
    public void uuidtest() {
    String Str = "aaabbcdddddeeeeeee";
    char[] StrArr = Str.toCharArray();// 把字符串转为字符数组toCharArray

    Map<Character, Integer> map = new HashMap<Character, Integer>();
    if (!(StrArr == null || StrArr.length == 0))// 先判断字符数组是否为空
    for (int i = 0; i < StrArr.length; i++) {
    if (map.get(StrArr[i])!=null)
    // 若不为空,说明已经存在相同字符,则Value值在原来的基础上加1
    map.put(StrArr[i], map.get(StrArr[i]) + 1);
    else
    map.put(StrArr[i], 1);
    }
    // 找map中Value的最大值maxValue,类似于选择排序,寻找最大值的过程:
    // 先任取一个Value值定义为最大值,然后与之比较
    int maxValue = map.get(StrArr[0]);
    char ch = ' ';
    for (int j = 0; j < StrArr.length; j++) {
    if (maxValue < map.get(StrArr[j])) {
    maxValue = map.get(StrArr[j]);
    ch = StrArr[j];
    }
    }
    System.out.println("现次数最多的字符:" + ch + " 出现次数:" + maxValue);
    }
  • 相关阅读:
    Lucky Substrings
    KMP
    圆桌问题(hdu4841)
    codeforces 624C Graph and String
    Joseph(hdu1443)
    The Longest Straight(FZUoj2216)
    C1. 组队活动 Small(BNUOJ)
    A1. 道路修建 Small(BNUOJ)
    Problem 2221 RunningMan(fuzoj)
    CODEFORCEs 621E. Wet Shark and Blocks
  • 原文地址:https://www.cnblogs.com/inbeijing/p/8556015.html
Copyright © 2011-2022 走看看