多数元素
题目地址
题目链接: https://leetcode.cn/problems/majority-element/
解题思路
思路一(排序)
多数元素是指出现的次数大于n/2的元素,因此排序后,第n/2位置的元素必然是多数
答案一
func majorityElement(nums []int) int {
sort.Ints(nums)
return nums[len(nums)/2]
}
思路二(统计)
循环遍历数组,统计每个元素的个数
遍历统计结果,判断元素个数是否大于n/2
若大于则为多数
答案二
func majorityElement(nums []int) int {
countMap := map[int]int{}
for _,item:=range nums{
countMap[item]+=1
}
for key,value:=range countMap{
if value>len(nums)/2{
return key
}
}
return 0
}
最后更新于
这有帮助吗?