[leetcode 229]Majority Element II
来源:互联网 发布:淘宝爆款软件 编辑:程序博客网 时间:2024/05/17 23:06
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.
Hint:
How many majority elements could it possibly have?
Do you have a better hint? Suggest it!
记录在数组中出现次数最多的两个元素,然后判断这两个元素是不是出现次数超过n/3
AC代码
class Solution {public: vector<int> majorityElement(vector<int>& nums) { int sum=nums.size(); if(sum<=1) return nums; vector<int> res; int temp1=0; int count1=0; int temp2=0; int count2=0; for(int i=0;i<sum;++i) { if(count1==0||nums[i]==temp1) { ++count1; temp1=nums[i]; } else if(count2==0||nums[i]==temp2) { ++count2; temp2=nums[i]; } else { --count1; --count2; } } int sum1=0; int sum2=0; for(int i=0;i<sum;++i) { if(nums[i]==temp1) ++sum1; else if(nums[i]==temp2) ++sum2; else continue; } if(sum1>sum/3) res.push_back(temp1); if(sum2>sum/3) res.push_back(temp2); return res; }};
其他Leetcode题目AC代码:https://github.com/PoughER/leetcode
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
- HDU 5060/BC 12C War
- Func递归Easyui Tree
- hdu 2066 一个人的旅游
- request.getHeader("host")
- LCS模板
- [leetcode 229]Majority Element II
- NYOJ--71--独木舟上的旅行
- 我想在linux下用json
- 安卓开发懒鬼最爱之ButterKnife,依赖注入第三方是库,进一步加速开发速度
- DropDownList绑定数据库内容
- C++部分知识
- Makefile自动生成依赖性
- IOS 8显示未读信息数量,即出现未读的小红点,同时设置应用隐藏和更改状态栏和网络加载菊花和其他一些应用级的操作。
- HDU 1505(City Game)动态规划-最大矩阵