private Number: total = 0 recurse(ArrayList<Number>: arr, Number: index, Number: candies) { // 三个参数分别代表士兵功劳的数组,当前进行到的数组第几项了,当前剩余多少个糖果没分 // 没糖果了就说明该分法正确 if(candies === 0) { total++ } // 已经到了最后一项,说明该分法不正确 if (index === arr.length) { return } // 从这个位置处不放糖果,到这个位置把剩余糖果全放了,遍历所有,回溯 for (int i = 0; i < candies; i++) { if (arr[index] 处能放下 i 个糖果) { recurse(arr, index + 1, candies - i) } } }
点赞 6

相关推荐

不愿透露姓名的神秘牛友
今天 13:05
点赞 评论 收藏
分享
怎么起名字:早知道就不读书了,害得我送外卖还得扶眼镜
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务