class Solution {
public int[] distributeCandies(int candies, int num_people) {
int[] arr = new int[num_people];
int i = 0, n = 1; // i表示自增的下标,n表示本次应该分多少。方便看就没合到一个属性了。
while(candies > 0) {
if (candies > n) {
arr[i % num_people] += n;
candies -= n;
} else {
arr[i % num_people] += candies;
return arr;
}
i++;
n++;
}
return arr;
}
}
取余即可快速定位每次的索引。 题解中有一种推导出数学公式的方式,emmmm我这智商还是老老实实暴力吧...