/** * 返回陣列中的最大元素個數 * 約束: * 陣列大小 1<=size<=10to5 * 陣列元素大小 1<=arrList[i]<=10to7 * @param candles * @return */ public static int birthdayCakeCandles(List<Integer> candles){ if (candles==null){ return 0; } if(candles.isEmpty()){ return 0; } int val=1; for (int i = 0; i < 5; i++) { val*=10; } if (candles.size()<1 || candles.size()>val){ return 0; } int val1=1; for (int i = 0; i < 7; i++) { val1*=10; } for (int i = 0; i < candles.size(); i++) { Integer i1 = candles.get(i); if (i1<1 || i1 >val1) { return 0; } } Collections.sort(candles, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { if (o1>o2){ return 1; }else if(o1<o2){ return -1; }else { return 0; } } }); HashMap<Integer, Integer> integerIntegerHahsMap = new HashMap<Integer, Integer>(); candles.forEach(e->{ if(integerIntegerHahsMap.containsKey(e)){ integerIntegerHahsMap.put(e,integerIntegerHahsMap.get(e)+1); }else{ integerIntegerHahsMap.put(e,1); } }); ArrayList<Integer> integers = new ArrayList<>(); integerIntegerHahsMap.forEach((k,v)->{ integers.add(v); }); return integers.get(integers.size()-1); }