leetcode 169
来源:互联网 发布:升级ios10网络连不上 编辑:程序博客网 时间:2024/04/30 17:52
题目:数组里有一个元素出现的次数在(n/2+1)以上,找到这个元素.
解法1:
暴力法,从头开始计算每个元素出现的次数,然后找到出现次数满足要求的元素并且返回,但是本人在提交代码的时候发现。。。Time limit out,也就是算法时间复杂度太大,解决不了规模太大的问题。于是看了discussion里大神们的答案,然后发现了下面这个解法。
解法2:
int majorityElement(int num[], int n) { int i = 0; int result = 0; int count = 0; for (;i < n; ++i) { if (count == 0 || result == num[i]) { result = num[i]; count++; } else { count--; } } return result;}
这个作者还提供了这个算法的来源。叫做boyer-moore vote算法,专门解决这个算法的。代码很简单,能看懂,但是恐怕很难想到这个算法。记录下来当做补充一下知识吧(算法确实很brilliant)。
0 0
- leetcode 169
- LEETCODE 169
- Leetcode 169
- leetcode 169
- leetcode 169
- Leetcode 169
- Leetcode note--Leetcode 169Majority Element
- LeetCode(169) Majority Number
- leetcode 169-Majority Element
- [leetcode 169] Majority Element
- leetCode#169 Majority Element
- leetCode 169 [PHP代码]
- Leetcode-169Majority Element
- LeetCode 169: Majority Element
- [LeetCode][169][Majority Element]
- LeetCode 169 Majority Element
- Majority Element leetcode[169]
- Leetcode[169]-Majority Element
- Guide to IPA Symbols
- Android 编程下 Touch 事件的分发和消费机制
- c++ 类中的 static
- 设计模式学习(三):策略模式
- 通过nextResponder查找控制器(类目)
- leetcode 169
- ubuntu安装boost
- @Transactional注解在spring中的应用-事务
- HDU 1150 Machine Schedule(二分图匹配)
- 2015.4.1
- cpp反汇编之构造函数2
- 数据转换&数据格式化&数据校验
- 习题2-9
- HDU_2579_Dating with girls(2) (BFS)