LeetCode 169. Majority Element
2015-04-13 10:36
148 查看
题意为在非空数组中有一个数出现次数大于 ceiling(num.size() >> 1), 那么可以进行如下模拟:
任取数组中的两个不相同的数,将它们一起拿去,这样一次一次地拿,最后剩下的一个(或相同的几个)数,即为Majority Element.
代码:
class Solution
{
public:
int majorityElement(vector<int> &num)
{
int candidate;
int cnt = 0;
for (size_t i = 0; i < num.size(); ++ i)
{
if (cnt == 0)
{
candidate = num[i];
++ cnt;
} else
{
cnt += (candidate==num[i])? 1: -1;
}
}
return candidate;
}
};
任取数组中的两个不相同的数,将它们一起拿去,这样一次一次地拿,最后剩下的一个(或相同的几个)数,即为Majority Element.
代码:
class Solution
{
public:
int majorityElement(vector<int> &num)
{
int candidate;
int cnt = 0;
for (size_t i = 0; i < num.size(); ++ i)
{
if (cnt == 0)
{
candidate = num[i];
++ cnt;
} else
{
cnt += (candidate==num[i])? 1: -1;
}
}
return candidate;
}
};
相关文章推荐
- LeetCode - 169. Majority Element
- leetcode 169. Majority Element
- LeetCode 169. Majority Element (众数)
- leetcode169 Majority Element
- [LeetCode] 169. Majority Element
- LeetCode 169.Majority Element--Divide and Conquer(分治法)
- LeetCode 169: Majority Element
- leetcode169. Majority Element
- leetcode[169] Majority Element
- [LeetCode]169. Majority Element
- leetcode 169 Majority Element
- LeetCode 169. Majority Element
- 2018.03.07 leetcode 打卡 #169. Majority Element
- LeetCode 169. Majority Element
- LeetCode-169. Majority Element (Java)
- LeetCode 169 : Majority Element
- [leetcode] Add to List 169. Majority Element
- leetcode 169. Majority Element
- 【leetcode】169. Majority Element
- leetcode 169. Majority Element 多数投票算法(Boyer-Moore Majority Vote algorithm)