[Leetcode]Majority Element II
来源:互联网 发布:js await async 多线程 编辑:程序博客网 时间:2024/04/27 14:30
Given an integer array of size n, find all elements that appear more than⌊ n/3 ⌋
times. The algorithm should run in linear time and in O(1) space.
class Solution {public: /*alorithm: hash soluton 1)count elements occurence usin hash table 2)iterate hash table to check whether it > n/3 floor time O(n) space O(n) */ vector<int> majorityElement(vector<int>& nums) { vector<int>ret; unordered_map<int,int>hash; int n = nums.size(); //count for(int i = 0;i < n;i++){ hash[nums[i]]++; } //check n/3 number for(auto it = hash.begin();it != hash.end();it++){ if(it->second > n/3) ret.push_back(it->first); } return ret; }};
class Solution {public: /*algorithm:voting algorithm time O(n) space O(1) */ vector<int> majorityElement(vector<int>& nums) { vector<int>ret; int n = nums.size(); int n1,n2,c1,c2; c1 = c2 = 0; for(int i = 0;i < n;i++){ if(n1 == nums[i])c1++; else if(n2 == nums[i])c2++; else if(c1 == 0)n1 = nums[i],c1++; else if(c2 == 0)n2 = nums[i],c2++; else c1--,c2--; } c1 = c2 = 0; for(int i = 0;i < n;i++){ if(n1 == nums[i])c1++; if(n2 == nums[i])c2++; } if(c1 > n/3)ret.push_back(n1); if(c2 > n/3)ret.push_back(n2); return ret; }};
0 0
- [LeetCode] Majority Element II
- [leetcode] Majority Element II
- #leetcode#Majority Element II
- 【LeetCode】Majority Element II
- LeetCode Majority Element II
- LeetCode - Majority Element II
- LeetCode Majority Element II
- leetcode: Majority Element II
- [LeetCode] Majority Element II
- leetcode--Majority Element II
- LeetCode-Majority Element II
- Leetcode: Majority Element II
- [Leetcode]Majority Element II
- LeetCode || Majority Element II
- LeetCode-Majority Element II
- Majority Element II -- leetcode
- **LeetCode-Majority Element II
- LeetCode -- Majority Element II
- POJ2337 Catenyms 欧拉路径
- JNI学习1——Android jni GetFieldID 和 GetMethodID 函数的说明
- 多校第十场1009 CRB and String题解
- 黑马程序员-java基础-Collection遍历的两种方式
- 关于C#的delegate(委托)和event(事件)的使用
- [Leetcode]Majority Element II
- Topcoder SRM 662 Div1, ExactTree,DP
- XDU-1112 Too Stupid(DP)
- Host Header Site Collection身份验证失败,无法登陆的解决方案
- Nginx 的动态 upstreams
- 用筛选法求100以内的素数(数组)
- Android异步消息处理机制完全解析,带你从源码的角度彻底理解
- Memcached简介
- Unity中uGUI的控件事件穿透逻辑