标签:ems 空间复杂度 com shu cto element tco 次数 计数
题目链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/
统计数字出现的个数cnt = 0, val = -1;
遍历数组中每个数字x
如果val = x, cnt++
如果val != x,
1. cnt != 0, cnt--;
2. cnt == 0, 更新val和cnt
时间复杂度O(N) 空间复杂度O(1)
class Solution {
public:
int majorityElement(vector<int>& nums) {
int cnt = 0, val = -1;
for (auto x : nums)
{
if (x == val) cnt ++ ;
else
{
if (cnt) cnt -- ;
else
{
cnt = 1;
val = x;
}
}
}
return val;
}
};
【剑指offer】【其他算法】39.数组中出现次数超过一半的数字
标签:ems 空间复杂度 com shu cto element tco 次数 计数
原文地址:https://www.cnblogs.com/Trevo/p/12731410.html