leetcode 169. 多数元素 JavaScript

给定一个大小为 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

特别注意题目的 大于 二字,这里的思路是先把数组的第一个元素存起来,然后在第一次循环的时候 count 就会+1,然后遇到不同的 -1,当count==0的时候 将下一个元素赋给tmp,绝对要是下一个元素,这样才能在下一个循环的时候 保证count为正数

/**
 * @param {number[]} nums
 * @return {number}
 */
var majorityElement = function(nums) {
    let tmp = nums[0], i =0, count = 0
    for(; i< nums.length; i++) {
        if (tmp !== nums[i]) {
            count -- 
        } else {
            count ++
        }
        if (count == 0)  tmp = nums[i+1]
        console.log(count)
    }
    
    return tmp
};