LeetCode 1103:Distribute Candies to People
本文为LeetCode 1103:Distribute Candies to People的题解。
题意
我们用下面的方法给num_people个人分发一些糖果:
我们给第一个人1块糖,给第二个人2块糖,以此类推,直到我们给最后一个人n块糖。
然后,我们回到开始,给第一个人n + 1块糖,给第二个人n + 2块糖,以此类推,直到我们给最后一个人2 * n块糖。
这个过程不断重复(当重新走到队首的时候,我们每次比上次多给n个糖果),直到糖果分配结束。最后一个人将收到我们所有剩余的糖果。
返回一个数组(长度为num_people),该数组表示最终每个人得到的糖果数量。
题解
首先我们考虑能完整的分发几轮。
由于分发数量总体上就是从1到n*num_people的等差序列,n符合如下不等式: