这个题很简单,而且没什么条件限制,实际上应该加上复杂度等限制的。
一个有趣的解法就是投票
func majorityElement(nums []int) int { kv := make(map[int]int) max := 0 res := 0 for _, v := range nums { kv[v]++ } fmt.Println(kv) for k, v := range kv { if v > max { max = v res = k } } return res } func majorityElement2(nums []int) int { count := 0 candidate := 0 for _, v := range nums { if count == 0 { candidate = v } if v == candidate { count++ } else { count-- } } return candidate }
end