import java.util.Map; import java.util.Scanner; import java.util.TreeMap; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(scanner.hasNext()) { Map<Integer , Integer> myMap = new TreeMap<Integer, Integer>(); for(int i = 0;i < 20;i++) { int n = scanner.nextInt(); if (myMap.containsKey(n)) { myMap.put(n, myMap.get(n) + 1); }else { myMap.put(n, 1); } } int max = Integer.MIN_VALUE; for(Map.Entry<Integer , Integer> entry : myMap.entrySet()) { max = Math.max(max, entry.getValue()); } for(Map.Entry<Integer, Integer> entry : myMap.entrySet()) { if (entry.getValue() == max) { System.out.println(entry.getKey()); break; } } } } }
import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<Integer, Integer> digitMap = new HashMap<Integer, Integer>(); List<Integer> digitList = new ArrayList<Integer>(); for (int i = 0; i < 20; i++) { int digit = scanner.nextInt(); if (digitMap.get(digit) == null) { digitMap.put(digit, 1); } else { digitMap.put(digit, digitMap.get(digit) + 1); } } // 排序 for (Integer key : digitMap.keySet()) { if (!digitList.contains(digitMap.get(key))) { digitList.add(digitMap.get(key)); } } Object[] digitArray = digitList.toArray(); Arrays.sort(digitArray); int max = (int)digitArray[digitList.size() - 1]; for (Integer key : digitMap.keySet()) { if (digitMap.get(key) == max) { System.out.println(key); break; } } } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s; while ((s = br.readLine()) != null) { String[] str = s.split(" "); int[] a = new int[11]; Arrays.fill(a, 0); for (int i = 0; i < 20; i++) { int k = Integer.parseInt(str[i]); a[k]++; } int maxindex = 1; for (int i = 1; i < 11; i++) { if (a[i] > a[maxindex]) maxindex = i; } System.out.println(maxindex); } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] record= new int[11]; while (scanner.hasNext()) record[scanner.nextInt()]++; int max = 0; int index =0; for (int i = 1; i <=10 ; i++) { if (record[i]>max){ index=i; max=record[i]; } } System.out.println(index); } }
易懂
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
int[] data = new int[20];
for (int i = 0; i < data.length; i++) {
data[i] = scan.nextInt();
}
int[] counter = new int[11];
for (int i = 0; i < data.length; i++) {
++counter[data[i]];
}
int max = counter[0];
int index = 0;
for (int i = 0; i < counter.length; i++) {
if (counter[i] > max) {
max = counter[i];
index = i;
}
}
System.out.println(index);
}
}
}
/** * 众数处理函数 * @param arrayList 多重集S */ public static void showFun(ArrayList arrayList) { Collections.sort(arrayList); //数组排序 int max = 1;//最大次数 Map map = new HashMap(); //存放:当有多个数出现次数相等时的数 for ( int i = 0; i < arrayList.size()-1; i++ ) { int count = 1; for ( int j = i + 1; j < arrayList.size() && arrayList.get(i) == arrayList.get(j); j++ ) { //如果当前数等于上一个数 count++; } if ( count > max ) { //当前次数为最大时,更新最大次数 并保存值 max = count; map.put(arrayList.get(i), count); } if ( count == max ) { //当前次数==之前的次数时,保存值 map.put(arrayList.get(i), count); } } ArrayList arr=new ArrayList(); //存放最大值相同是的key值,也就是数 for ( Object key : map.keySet() ) { //获得key if ( max == (int) map.get(key) ) { //获得value 如果value==最大次数 则输出 arr.add(key) ; } } Collections.sort(arr);//排序 如果存在一样多次数的众数,则输出权值最小的那一个 System.out.println((int)arr.get(0)); }