信息:
- 糖果的种类
- 总个数
- 吃一半
分析:
- 种类大于一半,那么只能吃一半
- 种类小于一半,那么是种类量
考哈希表,有点简单,熟悉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
}