Go•distribute-candies-to-people/solution.go
package main
func distributeCandies(candies int, numPeople int) []int {
result := make([]int, numPeople)
gift, person := 1, 0
for candies > 0 {
amount := gift
if candies < amount {
amount = candies
}
result[person] += amount
candies -= amount
gift++
person = (person + 1) % numPeople
}
return result
}
Python•distribute-candies-to-people/solution.py
class Solution:
def distributeCandies(self, candies: int, num_people: int) -> list[int]:
result = [class="syntax-number">0] * num_people; gift = class="syntax-number">1; person = class="syntax-number">0
while candies:
amount = min(gift, candies); result[person] += amount; candies -= amount
gift, person = gift + class="syntax-number">1, (person + class="syntax-number">1) % num_people
return result
TypeScript•distribute-candies-to-people/solution.ts
function distributeCandies(candies: number, numPeople: number): number[] {
const result = new Array<number>(numPeople).fill(class="syntax-number">0); let gift = class="syntax-number">1; let person = class="syntax-number">0;
while (candies > class="syntax-number">0) { const amount = Math.min(gift, candies); result[person] += amount; candies -= amount; gift += class="syntax-number">1; person = (person + class="syntax-number">1) % numPeople; }
return result;
}