Leetcode1103 分糖果

简单题,溜溜手。
C:
#include <stdlib.h> #include <string.h> void allocation(int *givenArr, int currentCandie, int currentPeople, int candies, int num_people) { if (candies <= 0) return; givenArr[currentPeople] += currentCandie < candies ? currentCandie : candies; int nextPeople = currentPeople == num_people - 1 ? 0 : currentPeople + 1; allocation(givenArr, currentCandie + 1, nextPeople, candies - currentCandie, num_people); } int *distributeCandies(int candies, int num_people, int *returnSize) { int *reArr = (int *)malloc(sizeof(int) * num_people); memset(reArr, 0, sizeof(int) * num_people); *returnSize = num_people; allocation(reArr, 1, 0, candies, num_people); return reArr; }
JAVA:
public int[] distributeCandies(int candies, int num_people) { int[] reArr = new int[num_people]; allocation(reArr, 0, 1, candies); return reArr; } private final void allocation(int[] alloc, int currentPeople, int currentCandie, int candies) { if (candies <= 0) return; alloc[currentPeople] += currentCandie < candies ? currentCandie : candies; int nextPeople = currentPeople == alloc.length - 1 ? 0 : currentPeople + 1; allocation(alloc, nextPeople, currentCandie + 1, candies - currentCandie); }
JS:
/** * @param {number} candies * @param {number} num_people * @return {number[]} */ var distributeCandies = function (candies, num_people) { let reArr = new Array(num_people); reArr.fill(0); allocation(reArr, 0, 1, candies); return reArr; }; var allocation = function (arr, currentPeople, currentCandie, candies) { if (candies <= 0) return; arr[currentPeople] += currentCandie < candies ? currentCandie : candies; let nextPeople = currentPeople == arr.length - 1 ? 0 : currentPeople + 1; allocation(arr, nextPeople, currentCandie + 1, candies - currentCandie); }
当你看清人们的真相,于是你知道了,你可以忍受孤独
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-05-29 对 NIO 底层的一些认识及报文定界实现