• 面试题 字符串中找出现次数最多的字母以及次数


    @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);
    }
  • 相关阅读:
    linux 学习笔记 groupadd创建组
    linux学习笔记 4建立用户
    Linux学习笔记 3 权限篇
    Linux学习笔记 1 环境变量 2 vi命令
    指针 以及取地址
    练习题
    weblogic domain creation
    hibernate log4j 输出sql
    练习九 组函数应用
    练习八 spool导出
  • 原文地址:https://www.cnblogs.com/inbeijing/p/8556015.html
Copyright © 2020-2023  润新知