LeetCode 1103. 分糖果 II

排排坐,分糖果。

我们买了一些糖果 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]。

Code

def distributeCandies(self, candies: int, num_people: int) -> List[int]:res=[0]*num_people i=0while candies > 0:res[i%num_people]+=min(i+1,candies)#记录candies=candies-min(i+1,candies)i=i+1return res

想法

min(i+1,candies)这是因为最后可能出现剩余candies数小于小朋友应得数。

LeetCode 1103[Python]. 分糖果 II 排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。相关推荐

  1. Leetcode - 1103. 分糖果 II 排排坐,分糖果。

    分糖果 II 排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最 ...

  2. LeetCode 1103. 分糖果 II

    1. 题目 排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后 ...

  3. LeetCode(1103)——分糖果 II(JavaScript)

    排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 ...

  4. LeetCode简单题之分糖果 II

    题目 排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小 ...

  5. 【每日leetcode】分糖果、分糖果II

    分糖果 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果.你需要把这些糖果平均分给一个弟弟和一个妹妹.返回妹妹可以获得的最大糖果的种类数. 示例 1: 输入: can ...

  6. 1103. 分糖果 II

    排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 ...

  7. python【力扣LeetCode算法题库】1103- 分糖果 II

    分糖果 II 排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最 ...

  8. leetcode1103. 分糖果 II 该模拟就模拟,别老想着优化

    排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 ...

  9. LeetCode-Python-1104. 分糖果 II

    排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友  ...

最新文章

  1. Ubuntu 9.10下在右键中添加以管理员身份打开,在终端中打开
  2. Nginx技巧:灵活的server_name,Nginx配置一个服务器多个站点 和 一个站点多个二级域名...
  3. 计算机组成与系统结构+答案书,计算机组成与系统结构书本答案
  4. CLS/CLR、c#(等语言)、托管、元数据、程序集 CLR学习第二课
  5. redis常用集群方案汇总
  6. 基金份额净值估值是什么?
  7. Android MonkeyRunner
  8. 企业落地Kubernetes的问题与对策
  9. 在windows下如何批量转换pvr,ccz为png或jpg
  10. 使用正则test方法遇到的问题
  11. java安装了怎么打开_怎么安装打开java
  12. ORA-03113: 通信通道的文件结尾
  13. 深入 Parcel架构与流程
  14. 清华大学计算机研究生课程表
  15. Rest——分布式超媒体系统的架构风格
  16. 如何判断1024!末尾有多少个0
  17. 计算机培训ppt教案,课件制作的教案
  18. android上调试H5小工具
  19. 飞鸽传书 linux安装,linux下飞鸽传书,ipmsg的安装
  20. 东方明珠新媒体“新春文娱大餐”迎来开门红;爱彼迎邀你住进澳洲经典动画“布鲁伊”的家 | 全球旅报...

热门文章

  1. 【CSS】来自新时代的CSS
  2. plc c语言 软元件t,三菱PLC软元件的种类及功能大全
  3. PHP 登录TPlink路由器
  4. mysql查询学校开设总课程数_MYSQL数据库课程设计
  5. Jackson JsonGenerator类
  6. mysql怎么退出当前表_MYSQL基本操作--登陆退出,数据库、表、字段的创建、查看、删除、更改...
  7. AG6201中文规格书|AG6201方案应用|安格AG6201||HDMI转VGA带DAC方案
  8. 方特主题公园体验科幻神奇
  9. 合泰HT1632C点阵LED芯片 的emuSPI驱动(即软件GPIO模拟方式)
  10. 测试用例的概念和作用