/**
 * 返回数组中的最大元素个数
 * 约束:
 *      数组大小 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);
}