热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

33:字符统计SumOfCharactors

题目描述:如果统计的个数相同,则按照ASII码由小到大排序输出。如果有其他字符,则对这些字符不用进行统计。实现以下接口:输入

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

实现以下接口:

    输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)

    按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出

    清空目前的统计结果,重新统计

调用者会保证:

输入的字符串以‘\0’结尾。

输入描述:输入一串字符。

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

输入例子:

aadddccddc

输出例子:

dca

 思路:1:ascii表从0到127,一共128个,一个int[]数组,下表存放字符对应的ascii值,数组值存放该字符出现的次数,

2:用一个max统计当前数组出现次数最多的字符出现的个数

3:用max循环,从大到小输出字符

 

1 package huawei2;
2
3 import java.util.Collection;
4 import java.util.Collections;
5 import java.util.Iterator;
6 import java.util.LinkedHashMap;
7 import java.util.Map;
8 import java.util.Map.Entry;
9 import java.util.Scanner;
10
11 /*题目描述:如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。
12 实现以下接口:
13 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)
14 按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出
15 清空目前的统计结果,重新统计
16 调用者会保证:
17 输入的字符串以‘\0’结尾。
18 输入描述:输入一串字符。
19 输出描述:对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。
20 输入例子:
21 aadddccddc
22 输出例子:
23 dca*/
24 public class SumOfCharactors {
25
26 public static void main(String[] args) {
27 Scanner in = new Scanner(System.in);
28 while(in.hasNext())
29 {
30 String input = in.nextLine();
31 int array[] = new int[128];
32 //初始化存放ascii码的数组,下表ascii,value出现的次数
33 for(int i = 0;i )
34 {
35 array[i] = 0;
36 }
37 //统计各个字符(转换成ascii出现的次数)
38 for(int j = 0; j)
39 {
40 array[input.charAt(j)]++;
41 //array[(int)input.charAt(j)]++;
42 }
43 int max = 0;//max表示数组中当前出现次数最多元素的次数
44 //寻找出现次数最多元素的个数
45 for(int j = 0; j)
46 {
47 if(array[j] > max)
48 {
49 max = array[j];
50 }
51 }
52 //按照出现次数依次输出
53 while(max!=0)
54 {
55 for(int i = 0; i)
56 {
57 if(max == array[i])
58 System.out.print((char)i);
59 }
60 max--;
61 }
62 //char[] array = input.toCharArray();
63 //Map map &#61; new LinkedHashMap<>();
64 // Iterator> iterator &#61; map.entrySet().iterator();
65 // while(iterator.hasNext()){}
66
67
68 }
69 }
70
71 }
72 /*测试用例:
73 8v26ktzk069lm400061m0v965we88850o6omqi532ktir6esb55t0kqm026y8rk63aj82kcx48gd1tiylvs0xo32zem65q7z5ce2185d2ascz62a2p3ajr45h637t2p290lc043gicp5ldzzmx2
74 对应输出应该为:
75 206583kmzct4aeil19dopqrsvx7gjybhw
76 你的输出为:
77 206583kmzct4aeil19dopqrsvx7gjybhw0751462839jcybodpnwxzikmfehluagtqrsv*/

可能循环处理输出出错&#xff0c;输出容器没有清理干净

转:https://www.cnblogs.com/newcoder/p/5812939.html



推荐阅读
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 查找给定字符串的所有不同回文子字符串原文:https://www ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
  • 《2017年3月全国计算机等级考试二级C语言上机题库完全版》由会员分享,可在线阅读,更多相关《2017年3月全国计算机等级考试二级C语言上机题库完全版( ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
  • 浅析对象 VO、DTO、DO、PO 概念
    作者|CatQi链接|cnblogs.comqixuejiap4390086.html前言由于此订阅号换了个皮肤,导致用户接受文章不及时。读者可以打开订阅号「Web项 ... [详细]
author-avatar
吴家大少wu_415
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有