> 文档中心 > [每日一练] 众数(简单)

[每日一练] 众数(简单)

  

疫情当前,大家要做好防护哦。

带好口罩了嘛?

每日一练,锻炼思维

        

2313

/**
  资源限制
    时间限制:1.0s   内存限制:256.0MB
    
  问题描述
  编写一个程序,计算递增数组的众数。程序第一行输入n(1≤n≤20),表示数组的长度;第二行输入数组中各个元素的值。输出数组中出现次数最多的元素。如果有两个元素出现的次数相同,即并列第一,那么只输出较小的那个元素。(注:输入的数组是递增数组,已经排好序,程序中不需要进行排序)

   样例输入
    6
    100 150 150 200 200 250
  样例输出
    150
 */

    

/*我的思路 * 1.先创建一个数组,存储输入的值 * 2.初始化输入器和数组 * 3.for循环储存输入的值 * 4.使用Map统计每一个值出现的次数,key为值,value是出现的次数 * ------------------- * 5.将出现最多的数字输出(value最大),确保key还是较小的... * */import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class ALGO_485_计算众数 { //1.先创建一个数组,存储输入的值private static Integer[] arr;private static Scanner src;public static void main(String[] args) {//初始化输入器和数组src = new Scanner(System.in);int n = src.nextInt();arr = new Integer[n];//for循环储存输入的值for (int i = 0; i < arr.length; i++) {arr[i] = src.nextInt();}//使用Map统计每一个值出现的次数,key为值,value是出现的次数Map map=new HashMap();for(int j = 0 ; jmaxValue){maxValue = value;maxKey = s;}}System.out.println(maxKey);}}

      

结果: