多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
/*
1. 排序 取 n/2 处的值
*/
func majorityElement(nums []int) int {
sort.Ints(nums)
n := len(nums)/2
return nums[n]
}
/*
2. 摩尔投票
*/
func majorityElement(nums []int) int {
element := nums[0]
cnt := 0
for _,v := range nums {
if v == element {
cnt ++
continue
}
cnt --
if cnt <= 0 {
element = v
cnt = 1
}
}
return element
}Last updated
Was this helpful?