Go
go
func majorityElement(nums []int) int {
numMap := make(map[int]int)
for _, v := range nums {
n, ok := numMap[v]
if ok {
numMap[v] = n + 1
} else {
numMap[v] = 1
}
if numMap[v] > len(nums) / 2 {
return v
}
}
return -1
}
解题思路:采用map结构保存每个元素出现的次数,当找到某个值出现次数超过半数后,则返回
python
python
class Solution:
def majorityElement(self, nums: List[int]) -> int:
nums.sort()
return nums[len(nums) // 2]
解题思路:排序后,有序数组的中位数则为多数元素