0169. 多数元素
最后更新于
这有帮助吗?
这有帮助吗?
var majorityElement = function (nums) {
let count = 1;
let majority = nums[0];
for (let i = 1; i < nums.length; i++) {
if (count === 0) {
majority = nums[i];
}
if (nums[i] === majority) {
count++;
} else {
count--;
}
}
return majority;
};class Solution:
def majorityElement(self, nums: List[int]) -> int:
count, majority = 1, nums[0]
for num in nums[1:]:
if count == 0:
majority = num
if num == majority:
count += 1
else:
count -= 1
return majorityclass Solution {
public:
int majorityElement(vector<int>& nums) {
int ans = 0, cnt = 0;
for (int n : nums) {
if (ans == n) ++cnt;
else if (cnt > 0) --cnt;
else {
ans = n;
cnt = 1;
}
}
return ans;
}
};class Solution {
public int majorityElement(int[] nums) {
int count = 0;
Integer candidate = null;
for (int num : nums) {
if (count == 0) {
candidate = num;
}
count += (num == candidate) ? 1 : -1;
}
return candidate;
}
}