leetcode-575. 分糖果

575. 分糖果 - 力扣(Leetcode)

信息:

  • 糖果的种类
  • 总个数
  • 吃一半

分析:

  • 种类大于一半,那么只能吃一半
  • 种类小于一半,那么是种类量

考哈希表,有点简单,熟悉Go语法还行

func distributeCandies(candyType []int) int {
    if len(candyType) == 0 {
        return 0
    }

    typeMap := make(map[int]struct{})
    for _, typeType := range candyType {
        typeMap[typeType] = struct{}{}
    }

    typeCnt := len(typeMap)

    halfCnt := len(candyType) / 2

    if typeCnt > halfCnt {
        return halfCnt
    }

    return typeCnt
}

参考

Go 最细节篇 — 空结构体是什么? - 掘金

posted @ 2023-01-01 01:24  吴丹阳-V  阅读(14)  评论(0编辑  收藏  举报