作者:喝七喜
链接:https://www.zhihu.com/question/49973163/answer/235921864
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
今天做室友发来一道这样的题,在LeetCode上搜了一下有了,自己写出来时间和空间都很没有效率,随,看题解啦,才知道摩尔投票,看懂了思想,看了别人的写法,转换成JS写法来,相当于是copy了,有点羞耻。。。可是感觉已经很简洁了。上面是原文链接
说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。
给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
示例 1:
输入: [3,2,3]
输出: [3]
示例 2:
输入: [1,1,1,3,3,2,2,2]
输出: [1,2]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/majority-element-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
var majorityElement = function(nums) {
let arr = []
let n = parseInt(nums.length/3)