循环暴力求解。
自增取余求people下标
idx = (idx + 1)%num_people
对于最后一个被分糖果的people,需要把多余且不够完全分的给加上
ret[idx] += candies + add
完整代码
func distributeCandies(candies int, num_people int) []int {
add := 1
ret := make([]int, num_people)
idx := 0
candies -= add
for candies > 0 {
ret[idx] += add
add++
idx = (idx + 1)%num_people
candies -= add
}
ret[idx] += candies + add
return ret
}
网友评论