题解 | #数组中出现次数超过一半的数字#
数组中出现次数超过一半的数字
https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
import java.util.ArrayList; import java.util.HashMap; public class Solution { public int MoreThanHalfNum_Solution(int [] array) { //用来存储数字和出现个数 HashMap<Integer,Integer> map=new HashMap<>(); for(int i=0;i<array.length;i++){ //如果数组包含该数字就该数字的value+1 if(map.containsKey(array[i])){ Integer value=map.get(new Integer(array[i])); value++; map.put(array[i],value); //不出现该数字就添加进去 }else{ map.put(array[i],1); } } int size=map.size(); for(int i=0;i<array.length;i++){ if(map.get(array[i])>array.length/2){ return array[i]; } } return -1; } }