区块链技术博客
www.b2bchain.cn

1103. 分糖果 II 数学问题

这篇文章主要介绍了1103. 分糖果 II 数学问题,通过具体代码讲解8578并且分析了1103. 分糖果 II 数学问题的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了1103. 分糖果 II 数学问题。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/8578.html。具体如下:

https://www.b2bchain.cn/6185.html 

 //排排坐,分糖果。  // // 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。  // // 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。  // // 然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。  // // 重复上述过程(每次都比上一次多给出一颗糖果,当到达队伍终点后再次从队伍起点开始),直到我们分完所有的糖果。注意,就算我们手中的剩下糖果数不够(不比前一次发 //出的糖果多),这些糖果也会全部发给当前的小朋友。  // // 返回一个长度为 num_people、元素之和为 candies 的数组,以表示糖果的最终分发情况(即 ans[i] 表示第 i 个小朋友分到的糖果数)。 //  // //  // // 示例 1:  // // 输入:candies = 7, num_people = 4 //输出:[1,2,3,1] //解释: //第一次,ans[0] += 1,数组变为 [1,0,0,0]。 //第二次,ans[1] += 2,数组变为 [1,2,0,0]。 //第三次,ans[2] += 3,数组变为 [1,2,3,0]。 //第四次,ans[3] += 1(因为此时只剩下 1 颗糖果),最终数组变为 [1,2,3,1]。 //  // // 示例 2:  // // 输入:candies = 10, num_people = 3 //输出:[5,2,3] //解释: //第一次,ans[0] += 1,数组变为 [1,0,0]。 //第二次,ans[1] += 2,数组变为 [1,2,0]。 //第三次,ans[2] += 3,数组变为 [1,2,3]。 //第四次,ans[0] += 4,最终数组变为 [5,2,3]。 //  // //  // // 提示:  // //  // 1 <= candies <= 10^9  // 1 <= num_people <= 1000  //  // Related Topics 数学   //leetcode submit region begin(Prohibit modification and deletion) class Solution {     public int[] distributeCandies(int candies, int num_people) {         int[] ans = new int[num_people];         int i = 0;         while (candies != 0) {             ans[i % num_people] += Math.min(candies, i + 1);             candies -= Math.min(candies, i + 1);             i += 1;         }         return ans;     } }      

 

本文地址https://www.b2bchain.cn/8578.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 1103. 分糖果 II 数学问题
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们