LeetCode——169. 求眾數
阿新 • • 發佈:2018-12-11
題目
給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋
的元素。
你可以假設陣列是非空的,並且給定的陣列總是存在眾數。
示例 1:
輸入: [3,2,3] 輸出: 3
示例 2:
輸入: [2,2,1,1,1,2,2] 輸出: 2
解題思路
依次找出每個數重複的數目,取滿足在陣列中出現次數大於 ⌊ n/2 ⌋
的元素。
程式碼實現
class Solution { public int majorityElement(int[] nums) { Map<Integer,Integer> map = new HashMap<Integer,Integer>(); int n = nums.length; for(int num : nums) //統計每個元素出現的次數 { Integer count = map.get(num); if(count == null) count =1; else count++; map.put(num,count); if(map.get(num) > n/2) return num; } return 0; } }
ps:Map真好用...