蓝桥杯 出现次数最多的整数(java题解)

原创 2016年06月02日 10:00:58

问题描述
  编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
  输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。
  输出格式:输出只有一行,即出现次数最多的那个元素值。
输入输出样例
样例输入
5
100
150
150
200
250
样例输出
150

题解: 二重循环遍历即可知道每个数字在这个数之前相同数字的个数,用一个数组保存此数字相同数字的个数(count[i]),知道count数组中最大的数值便是出现最多的次数,最大的数值在count数组中对应的下标便是原数组出现次数最多的整数的下标。因为数组是升序排列,所以count数组中第一次出现最大的数值的下标对应原数组的下标便是最小的值。

import java.util.*;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        if(n>20) System.exit(0);
        if(n<=0) System.exit(0);
        int[] a = new int[n];
        for(int i=0;i<a.length;i++) {
            a[i] = in.nextInt();
        }

        int[] count = new int[n];
        for(int i=0;i<count.length;i++) {
            count[i]=1;
        }

        for(int i=1;i<a.length;i++) {
            for(int j=0;j<i;j++) {
                if(a[i]==a[j]) {
                    count[i]++;
                }
            }
        }

        int num = 1;
        for(int i=0;i<count.length;i++) {
            if(num<count[i]) {
                num = count[i];
            }
        }

        ArrayList<Integer> res = new ArrayList<Integer>();
        for(int i=0;i<count.length;i++) {
            res.add(count[i]);
        }

        int weishu = res.indexOf(num);
        System.out.println(a[weishu]);
        in.close();
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

蓝桥杯-算法训练 出现次数最多的整数

题目描述: 问题描述   编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个...
  • believeLWN
  • believeLWN
  • 2017年03月28日 21:05
  • 165

蓝桥杯 出现次数最多的整数 JAVA

看代码就懂了import java.util.Scanner;public class Main { public static void main(String[] args) { ...
  • qq_26580757
  • qq_26580757
  • 2017年04月01日 15:23
  • 229

2016蓝桥杯算法训练——出现次数最多的整数

出现次数最多的整数  问题描述   编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次...
  • qq_21385857
  • qq_21385857
  • 2016年02月13日 12:37
  • 1598

算法训练 出现次数最多的整数(狗血题)

 问题描述   编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印...
  • qq_33850438
  • qq_33850438
  • 2016年02月01日 21:38
  • 603

蓝桥杯——算法训练 出现次数最多的整数

问题描述  编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果...
  • LiJiaSnail
  • LiJiaSnail
  • 2015年11月10日 17:30
  • 2031

蓝桥杯 出现次数最多的整数

import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(Str...
  • qq_26580757
  • qq_26580757
  • 2017年03月20日 18:10
  • 133

蓝桥杯——出现次数最多的整数

问题描述   编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如...
  • qianchangdiyin
  • qianchangdiyin
  • 2015年03月11日 15:59
  • 334

算法训练 出现次数最多的整数 java

一定要审题,博主被那一个判断n的取值范围的那条语句折磨了一个多小时,想了无数测试用例,才发现是n的范围问题。谨以此篇告诫自己,做事认真!...
  • zang_yang
  • zang_yang
  • 2018年01月20日 00:16
  • 29

java 求一个list集合中出现次数最多的一项,和此项的出现次数

//java 求一个list集合中出现次数最多的一项,和此项的出现次数 //效率很高的统计方法。利用正则表达式统计 @Test public void st() { String re...
  • QCIWYY
  • QCIWYY
  • 2017年03月23日 14:17
  • 1534

java找出一个数组中出现次数最多的那个元素

方法一: import java.util.*; public class TestMain { private static HashMap map; public static ...
  • u010793590
  • u010793590
  • 2014年06月08日 19:54
  • 5065
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:蓝桥杯 出现次数最多的整数(java题解)
举报原因:
原因补充:

(最多只允许输入30个字)