# 主要元素(17.10)

# 题目

数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1

# 示例

输入:[1,2,5,9,5,9,5,5,5] 输出:5

输入:[3,2] 输出:-1

# 算法

使用map按照数字:出现次数记录,当出现次数大于数组长度一半时,返回该数字,否则返回-1

function majorityElement(nums) {
	let map = {};
	for (let item of nums) {
		if (map[item]) {
			map[item]++;
		} else {
			map[item] = 1;
		}
		if (map[item] > nums.length / 2) {
			return item;
		}
	}
	return -1;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14