题目链接:2244. 完成所有任务需要的最少轮数
使用哈希计数,如果又出现一次数,就返回 -1,其他的数通过 (v+2)/3 的方式计数即可。
func minimumRounds(tasks []int) int {
ans := 0
cnt := map[int]int{}
for _, v := range tasks {
cnt[v]++
}
for _, v := range cnt {
if v == 1 {
return -1
} else {
ans += (v+2)/3
}
}
return ans
}
可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。