zoukankan      html  css  js  c++  java
  • 华为机试-字符统计

    题目描述

    如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。

    实现以下接口:
        输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)
        按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出
        清空目前的统计结果,重新统计
    调用者会保证:
    输入的字符串以‘’结尾。

    输入描述:

    输入一串字符。

    输出描述:

    对字符中的
    各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。

    示例1

    输入

    aadddccddc
    

    输出

    dca


    1. import java.util.Scanner;  
    2. import java.util.TreeMap;  
    3.   
    4. /** 
    5.  * 字符统计 
    6.  *  
    7.  * @author LiJian 
    8.  * 
    9.  */  
    10. public class Main {  
    11.   
    12.     public static void main(String[] args) {  
    13.   
    14.         Scanner scanner = new Scanner(System.in);  
    15.         char c;  
    16.         while (scanner.hasNext()) {  
    17.             String s1 = scanner.nextLine();  
    18.             TreeMap<Character, Integer> map = new TreeMap<>();  
    19.             for (int i = 0; i < s1.length(); i++) {  
    20.                 c = s1.charAt(i);  
    21.                 if (c >= '0' && c <= '9' || c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == ' ') {  
    22.                     if (!map.containsKey(c)) {  
    23.                         map.put(c, 1);  
    24.                     } else {  
    25.                         map.put(c, map.get(c) + 1);  
    26.                     }  
    27.                 }  
    28.             }  
    29.   
    30.             TreeMap<Integer, Character> map2 = new TreeMap<>();  
    31.             for (char cc : map.keySet()) {  
    32.                 map2.put(map.get(cc) * 128 + 128 - cc, cc);  
    33.             }  
    34.   
    35.             StringBuilder s = new StringBuilder();  
    36.             for (int i : map2.keySet()) {  
    37.                 s.append(map2.get(i));  
    38.             }  
    39.             System.out.println(s.reverse().toString());  
    40.   
    41.         }  
    42.   
    43.     }  
    44.   
    45. }  
  • 相关阅读:
    Linux实时性分析-schedule-调度器
    中断解析
    网络商城-PrestaShop
    和学生的学习互动记录(10嵌)
    QQ记录
    Windows7硬盘安装Fedora16图文教程
    今目标登录时报网络错误E110
    vs环境配置——vs快捷键配置——vs插件配置——vs环境设置
    如何防止app接口被别人调用
    mvc4 找到多个与名为“xx”的控制器匹配的类型
  • 原文地址:https://www.cnblogs.com/wwjldm/p/7110949.html
Copyright © 2011-2022 走看看