您的位置:首页 > 其它

LeetCode - Majority Element

2015-01-23 17:50 211 查看
Majority Element

2015.1.23 17:46

Given an array of size n, find the majority element. The majority element is the element that appears more than
⌊ n/2 ⌋
times.

You may assume that the array is non-empty and the majority element always exist in the array.

Solution:

  This is FAQ, you know. See the code below.

  Total time complexity is O(n). Space complexity is O(1).

Accepted code:

// 1AC, old
class Solution {
public:
int majorityElement(vector<int> &num) {
int val, cnt;
int n, i;

n = (int)num.size();
val = num[0];
cnt = 1;

for (i = 1; i < n; ++i) {
if (val == num[i]) {
++cnt;
} else if (cnt > 1) {
--cnt;
} else {
val = num[i];
cnt = 1;
}
}

return val;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: