LeetCode-229. 求众数 II
作者:互联网
给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
示例 1:
输入:[3,2,3]
输出:[3]
示例 2:
输入:nums = [1]
输出:[1]
示例 3:
输入:[1,1,1,3,3,2,2,2]
输出:[1,2]
提示:
1 <= nums.length <= 5 * 104
-109 <= nums[i] <= 109
进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题。
package main
import (
"fmt"
"hash/maphash"
)
func majorityElement(nums []int) []int {
var Mp map[int]int
Mp = make(map[int]int)
var Len = len(nums)
var result [] int
var Big = Len / 3
for i:=0;i<Len;i++ {
val, ok := Mp[nums[i]]
if ok {
Mp[nums[i]]++
val++
}else{
Mp[nums[i]] = 1
}
}
for it := range Mp {
fmt.Println(Mp[it])
if(Mp[it] > Big){
result = append(result, it)
}
}
return result
}
标签:示例,int,nums,Len,II,result,229,var,LeetCode 来源: https://blog.csdn.net/qq_16542775/article/details/120915311