[每日一练] 众数(简单)
疫情当前,大家要做好防护哦。
带好口罩了嘛?
每日一练,锻炼思维
/
资源限制
时间限制: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);}}
结果: