1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| public class Solution { public int MoreThanHalfNum_Solution(int[] array) { if(array.length==0){ return 0; } if(array.length==1){ return array[0]; } HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); int maxNumber = array[0]; int maxCount = 1;
for (int i = 0; i < array.length; i++) { if (!map.containsKey(array[i])) { map.put(array[i], 1); } else { int count = map.get(array[i]); map.put(array[i], ++count); if(count>maxCount){ maxNumber = array[i]; maxCount = count; } if(maxCount>array.length/2){ return maxNumber; } } } return 0; } }
|