leetcode-229- Majority Element II
来源:互联网 发布:社交网络观后感 编辑:程序博客网 时间:2024/05/07 17:37
问题
题目:[leetcode-229]
思路
参考[Major Element]
都是采用moore’s voting algorithm,只不过第一个问题是一定存在。但是本题不存在,投票完了之后需要验证。
写代码需要注意一点:避免m和n重复的情形。
还有循环判断的顺序不能变!!!
代码
class Solution {public: vector<int> majorityElement(vector<int>& nums) { int m = 0, cm = 0; int n = 0, cn = 0; int sz = nums.size(); for( int i = 0; i < sz; ++i ){ if( nums[i] == m ) cm++; else if( nums[i] == n ) cn++; else if(!cm) { m = nums[i]; cm = 1; } else if(!cn) { n = nums[i]; cn = 1; } else { --cm; --cn; } } cm = cn = 0; for( int i = 0; i < sz; ++i ){ if( nums[i] == m ) ++cm; else if( nums[i] == n ) ++cn; } std::vector<int> ret; if( cm > sz/3 ) ret.push_back(m); if( cn > sz/3 ) ret.push_back(n); return ret; }};
0 0
- leetcode#229 Majority Element II
- Leetcode 229 Majority Element II
- leetcode 229: Majority Element II
- Majority Element II (leetcode 229)
- [leetcode 229]Majority Element II
- LeetCode(229)Majority Element II
- [LeetCode 229] Majority element II
- leetcode 229:Majority Element II
- Majority Element II leetcode 229
- LeetCode 229 Majority Element II
- LeetCode #229: Majority Element II
- LeetCode[229] Majority Element II
- leetcode-229- Majority Element II
- LeetCode 229 --- Majority Element II
- [LeetCode] Majority Element II
- [leetcode] Majority Element II
- #leetcode#Majority Element II
- 【LeetCode】Majority Element II
- H-ui 前端框架
- @Autowired 和 @Qualifier
- maven 构建archetype 文档
- 需要了解学习备忘
- RocksDB
- leetcode-229- Majority Element II
- Java Timer的使用(timer.schedule定时执行)
- vue绑定keyup,input事件
- 机器学习-斯坦福大学-Lecture3-线性代数基础
- C++ Note
- java分布式系统开关功能设计(服务升降级)
- PHP高手干货分享:不能不看的50个细节!
- 猜数字游戏
- 【Unity&3D射线检测】