LeetCode 打卡 Day 57 —— 169. 多数元素

1、题目

LeetCode 打卡 Day 57 —— 169. 多数元素_第1张图片

2、题解

想到的解法较为简单,首先还是想到哈希表,以每个数值为key,value中记录该数值出现的次数。首先遍历一遍数组,完成对每个key对应数量的统计。之后对哈希表进行遍历,确定出现次数最多的key,即value值最大的key,实现代码如下

func majorityElement(nums []int) int {
    var dict map[int]int = make(map[int]int)
    for _, v := range(nums){
        if _, ok := dict[v]; ok {
            dict[v]++
        }else{
            dict[v]=1
        }
    }
    maxNum:=-1
    maxValue:=0
    for key, value:=range(dict){
        if maxNum

想要改进一下,尝试在遍历数组,填充哈希表的过程中记录获得出现次数的值,实现代码如下

func majorityElement(nums []int) int {
    var dict map[int]int = make(map[int]int)
    maxNum:=-1
    maxValue:=0
    for _, v := range(nums){
        if _, ok := dict[v]; ok {
            dict[v]++
        }else{
            dict[v]=1
        }
        if maxNum

你可能感兴趣的:(Go,LeetCode,leetcode,golang)