题目描述:
方法1:哈希表
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++){ Integer key=array[i]; Integer value=map.get(key); if(value!=null){ map.put(key,value+1); }else{ map.put(key,1); } } for(int i=0;i<array.length;i++){ int val=map.get(array[i]); if(val>array.length/2) return array[i]; } return 0; } }
Map.containsKey()方法--判断Map集中是否包含指定键名
Map.get()方法--判断某个value值在map中出现了几次
方法2:排序后计数,java.util.Arrays中有Arrays.sort()方法直接调用
原文地址:https://www.cnblogs.com/Aaron12/p/9514543.html
时间: 2024-10-10 08:35:53