
一开始的时候搞错题目意思了,以为每次都比上一个人多发一个糖果----
下面是解法:
/**
* @param {number} candies
* @param {number} num_people
* @return {number[]}
*/
var distributeCandies = function(candies, num_people) {
let ret = new Array(num_people).fill(0)
let sum = 0
let count = 0;
while(candies > sum){
for(let i = 0; i < num_people; i++){
if(candies - sum - count -1 >= 0){
ret[i] += ++count
sum += count
}else{
ret[i] += candies - sum
candies = 0
break
}
}
}
return ret
};
本文介绍了一种糖果分配算法,该算法确保每个人都能从总数中获得一部分糖果,并且每次分配尽可能地公平。通过递增的方式为每个人分配更多的糖果直到糖果用完。
317

被折叠的 条评论
为什么被折叠?



