给你一组字符如{1,3,4,7,2,1,1,5,2},让你输出里面出现次数最多且数值最大的一个,出现几次
2014-08-20 21:41
239 查看
二种实现方法;
一:
int[] a = { 5,5,8,5,3,5,3,3,3,5,1,5 };
Arrays.sort(a); //把数组变成集合
for (int i = 0; i < a.length; i++) {
System.out.println("i="+a[i] );
}
int maxNumber = a[0], maxCount = 1;
int curNumber = a[0], curCount = 1;
System.out.println("数组角标="+(a.length - 1));
for (int i = a.length - 1; i > 0; i--)
{
curNumber = a[i];
if (a[i] == a[i - 1])
{
curCount++;
}
else {
if (curCount > maxCount)
{
maxCount = curCount; maxNumber = curNumber;
}
curCount = 1;
}
}
System.out.println("\nmaxCount:"+maxCount+",maxNumber:"+maxNumber);
二:
int[] num = {5,5,8,5,3,5,3,3,3,5,1,5};
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for( int i =0 ; i<num.length ;i++){
if(map.containsKey(num[i])){
map.put(num[i], (Integer)map.get(num[i])+1);//如果已经有key--num[1],那么这个put,就会把value值+1覆盖原来的value值
}else{
map.put(num[i], 1);
}
}
Integer max= Integer.MIN_VALUE;
Integer max2 = Integer.MIN_VALUE;
for( Entry<Integer, Integer> entry : map.entrySet() ) {
Integer key = entry.getKey();
Integer value = entry.getValue();
if(value>=max){
max=value;
if(key>=max2){
max2=key;
}
}
}
for( Entry<Integer, Integer> entry : map.entrySet() ) {
Integer key = entry.getKey();
Integer value = entry.getValue();
if(key==max2){
System.out.println("频率最大数"+key+" 频率:"+max);
}
}
一:
int[] a = { 5,5,8,5,3,5,3,3,3,5,1,5 };
Arrays.sort(a); //把数组变成集合
for (int i = 0; i < a.length; i++) {
System.out.println("i="+a[i] );
}
int maxNumber = a[0], maxCount = 1;
int curNumber = a[0], curCount = 1;
System.out.println("数组角标="+(a.length - 1));
for (int i = a.length - 1; i > 0; i--)
{
curNumber = a[i];
if (a[i] == a[i - 1])
{
curCount++;
}
else {
if (curCount > maxCount)
{
maxCount = curCount; maxNumber = curNumber;
}
curCount = 1;
}
}
System.out.println("\nmaxCount:"+maxCount+",maxNumber:"+maxNumber);
二:
int[] num = {5,5,8,5,3,5,3,3,3,5,1,5};
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for( int i =0 ; i<num.length ;i++){
if(map.containsKey(num[i])){
map.put(num[i], (Integer)map.get(num[i])+1);//如果已经有key--num[1],那么这个put,就会把value值+1覆盖原来的value值
}else{
map.put(num[i], 1);
}
}
Integer max= Integer.MIN_VALUE;
Integer max2 = Integer.MIN_VALUE;
for( Entry<Integer, Integer> entry : map.entrySet() ) {
Integer key = entry.getKey();
Integer value = entry.getValue();
if(value>=max){
max=value;
if(key>=max2){
max2=key;
}
}
}
for( Entry<Integer, Integer> entry : map.entrySet() ) {
Integer key = entry.getKey();
Integer value = entry.getValue();
if(key==max2){
System.out.println("频率最大数"+key+" 频率:"+max);
}
}
相关文章推荐
- 1、 编写一个Java应用程序,对用户输入的任意一组字符如{1,3,4,7,2,1,1,5,2},输出其中出现次数最多且数值最大的字符,并显示其出现次数。
- 编写一个程序,对用户输入的任意一组数字字符如{3,1,4,7,2,1,1,2,2},输出其中出现次数最多的字符,并显示其出现次数。如果有多个字符出现次数均为最大且相等,则输出最先出现的那个字符和它出现
- 给你一组字符串 如 {5,2,3,2,4,5,1,2,1,5},让你输出里面出现次数最多且数值最大的
- 一个字符串中可能包含a~z中的多个字符,如有重复,求出现次数最多的那个字母及次数,如有多个重复最多的则都输出。
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- 通过键盘输入一个字符串,判断字符串中出现最多的字符并输出该字符和输出出现次数
- js输出一个字符串中出现次数最多的字符
- java一个算法题:输出一个字符串中出现次数最多的字符,以及次数
- 统计一个整数里面出现次数最多最大的数字
- 查找一个字符串中出现次处最多的那个字符,并输出出现次数
- 输出一个字符串中出现次数最多的字符
- java一个算法题:输出一个字符串中出现次数最多的字符,以及次数
- 用js实现统计字符串里面的出现次数最多的字符
- 以字符串中出现次数最多的字符的个数为权值,对一个字符串数组进行升序排序
- 判断一个字符串中出现次数最多的字符,统计这个次数
- 问题七十三:已知一个从小到大的数组,求出该数组中出现次数最多为几次?
- JAVA求 出现次数最多数值最大的数
- 一个字符串str="fsdafdsaf" 任意个字符,求出这个字符串中出现次数最多的字符和出现的次数
- 如何知道一个未知长度的字符串哪个字符出现的次数最多
- 给定一个字符串,求出该字符串里哪个字符出现的次数最多