给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ 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
};