求衆數
一、題目描述
給定一個大小為 n 的數組,找到其中的衆數。衆數是指在數組中出現次數大于
⌊ n/2 ⌋
的元素。
你可以假設數組是非空的,并且給定的數組總是存在衆數。
示例 1:
輸入: [3,2,3]
輸出: 3
輸入: [2,2,1,1,1,2,2]
輸出: 2
二、思路
三、代碼示範
public int majorityElement(int[] nums) {
int result = nums[0];
int times = 1;
for (int i = 1; i < nums.length; i++) {
if (result == nums[i]) {
times++;
} else {
times--;
if (times == 0) {
result = nums[++i];
times++;
}
}
}
return result;
}