leetcode 169.多数元素
思路1
let majorityElement = function(nums) {
if (nums.length === 1) {
return nums[0]
}
let len = nums.length;
const map = new Map();
for (let i = 0; i < nums.length; i++) {
if (map.has(nums[i])) {
const temp = map.get(nums[i]) + 1;
map.set(nums[i], temp);
if (temp > len / 2) {
return nums[i];
}
} else {
map.set(nums[i], 1);
}
}
}
};
思路2
let majorityElement = function(nums) {
let obj = {};
let length = nums.length;
if (nums.length === 1) {
return nums[0]
}
for(let i in nums) {
if(obj[nums[i]]) {
obj[nums[i]]++;
if(obj[nums[i]]>length/2){
return nums[i]
}
}else{
obj[nums[i]] = 1;
}
}