博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华为机试-字符统计
阅读量:5110 次
发布时间:2019-06-13

本文共 1185 字,大约阅读时间需要 3 分钟。

题目描述

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

实现以下接口:

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

输入描述:

输入一串字符。

输出描述:

对字符中的

各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照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. }  

转载于:https://www.cnblogs.com/wwjldm/p/7110949.html

你可能感兴趣的文章
Java SE和Java EE应用的性能调优
查看>>
Android设计模式系列--原型模式
查看>>
CoolBlog开发笔记第4课:数据库模型设计
查看>>
DenyHosts 阻止SSH暴力攻击
查看>>
免费的论文查重网站
查看>>
C语言程序第一次作业
查看>>
leetcode-Sort List
查看>>
静态库
查看>>
关于hibernate查询结果类的封装
查看>>
IIS7:通过脚本来配置ftp站点
查看>>
domain规划
查看>>
uncategorized SQLException[17026]:数字溢出
查看>>
hdu 4115 石头剪子布(2-sat问题)
查看>>
Sicily 1299 Academy Awards (map + vector)集装箱
查看>>
JVM学习笔记(一)------基本结构
查看>>
Ewebeditor最新漏洞及漏洞大全
查看>>
CSS基础篇
查看>>
iOS页面间传值的六种方式
查看>>
cocos2dx2.0 帧动画的创建和播放过程 深入分析
查看>>
linux监控指标和命令
查看>>