赞
踩
查找一个数组中出现最多次数的值,如果存在相同的数量则输出较大的值。
数据结构:哈希表
过程描述:在遍历数组过程中
1)使用map记录每个值出现的次数
2)使用maxCount,maxNum分别记录当前的最大次数和最大数值,有以下两种情况:
①当前元素出现次数 > maxCount : 更新maxCount为当前次数 & maxNum为当前元素
②当前元素出现次数 == maxCount && 当前元素 > maxNum: 更新maxNum为当前元素
遍历完成后,输出maxNum。
- func Top1OfNums(nums []int) int {
- countMap := make(map[int]int)
- maxCount, maxNum := 0, -1<<31
- for _, num := range nums {
- countMap[num]++
- if countMap[num] > maxCount {
- maxCount = countMap[num]
- maxNum = num
- } else if countMap[num] == maxCount && num > maxNum {
- maxNum = num
- }
- }
- return maxNum
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。