leetcode229. Majority Element II
来源:互联网 发布:什么东西淘宝没有卖 编辑:程序博客网 时间:2024/06/01 21:38
题目描述(难度(Medium)):
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?
Tags: Array
Similar Problems: (E) Majority Element
分析:采用“投票算法”,找到后记住一定要验证。
代码实现:
class Solution(object): def majorityElement(self, nums): """ :type nums: List[int] :rtype: List[int] 最多只会有2个这样的众数 """ n = len(nums) if n<=1: return nums candidate1, candidate2 = None, None cnt1, cnt2 = 0, 0 for i in range(n): if nums[i]==candidate1: cnt1 += 1 elif nums[i]==candidate2: cnt2 += 1 elif cnt1==0: candidate1 = nums[i] cnt1 = 1 elif cnt2==0: candidate2 = nums[i] cnt2 = 1 else: cnt1 -= 1 cnt2 -= 1 #check cnt1, cnt2 = 0, 0 for i in range(n): if nums[i]==candidate1: cnt1 += 1 elif nums[i]==candidate2: cnt2 += 1 result = [] if cnt1>n/3: result.append(candidate1) if cnt2>n/3: result.append(candidate2) return result
0 0
- LeetCode229:Majority Element II
- Leetcode229 Majority Element II
- leetcode229. Majority Element II
- leetcode229. Majority Element II
- leetcode229-Majority Element II(数组中出现最多的数II)
- Majority Element && Majority Element II
- Majority Element II
- [LeetCode] Majority Element II
- 229.Majority Element II
- Majority Element II
- [leetcode] Majority Element II
- Majority Element II
- #leetcode#Majority Element II
- 【LeetCode】Majority Element II
- LeetCode Majority Element II
- LeetCode - Majority Element II
- Majority Element II
- LeetCode Majority Element II
- CSS_2th_CSS选择器
- 51Nod 1831 小C的游戏
- 数据库事务隔离级别
- Mysql 如何设置字段自动获取当前时间
- 英语学习
- leetcode229. Majority Element II
- 网马解密初级篇
- AndroidStudio中HttpClient的简单使用
- Linux/Mac下 执行某脚本 自动输入密码
- Tomcat 处理http流程
- centos安装jdk
- tomcat下通过JNDI配置数据库连接池
- html局部页面刷新和跳转传参
- 脱壳八大法