题目大意
https://leetcode.com/problems/majority-element/
找到数组中出现次数超过n/2的那个数
题目分析
最开始的思路是基于hashmap,时间和空间复杂度都是O(N),看了讨论区的答案可以基于一种计数+抵消的方式,空间复杂度O(1)就能解。ans变量为最终结果,cnt为计数变量,遇到一个数如果等于ans直接cnt++,如果不等那么将cnt—(相当于抵消了一次)。
代码
|
|
https://leetcode.com/problems/majority-element/
找到数组中出现次数超过n/2的那个数
最开始的思路是基于hashmap,时间和空间复杂度都是O(N),看了讨论区的答案可以基于一种计数+抵消的方式,空间复杂度O(1)就能解。ans变量为最终结果,cnt为计数变量,遇到一个数如果等于ans直接cnt++,如果不等那么将cnt—(相当于抵消了一次)。
|
|