題目
給定一個大小為 n 的陣列,找到其中的多數元素,多數元素是指在陣列中出現次數大于 ? n/2 ? 的元素,
你可以假設陣列是非空的,并且給定的陣列總是存在多數元素,
示例 1:
輸入: [3,2,3]
輸出: 3
示例 2:
輸入: [2,2,1,1,1,2,2]
輸出: 2
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/majority-element
著作權歸領扣網路所有,商業轉載請聯系官方授權,非商業轉載請注明出處,
題解
class Solution {
public int majorityElement(int[] nums) {
int mode = 0,votes = 0;
for(int i = 0;i < nums.length;i ++) {
if(nums[i] == mode) {
votes ++;
} else {
votes --;
}
if(votes < 0) {
mode = nums[i];
votes = 0;
}
}
return mode;
}
}
1ms 41.8MB
本題采取摩爾投票法,或采取排序取中位數(注:因為此題眾數為大于n/2,所以中位數必是眾數)
更多題解點擊此處
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/157369.html
標籤:其他
上一篇:Qt利用布局,widget和ScrollArea實作抽屜效果
下一篇:模擬題【二分、動態規劃】神光
