首先我们给第一个同学一个糖果,那么对于接下来的一个同学就有三种情况: 1. 接下来的同学的rating等于前一个同学,那么给接下来的同学一个糖果就行。 2. 接下来的同学的rating大于前一个同学,那么给接下来的同学的糖果数要比前一个同学糖果数加1。 3.接下来的同学的rating小于前一个同学,那么我们此时不知道应该...
有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。由于你只是...
本题其实就是考察一下思考细致度,需要对数据分布的各种情况有一定的理解和想法。 CSP2021-J2T1分糖果Candy之分析与解题mp.weixin.qq.com/s/_GI7QXfQv7FwEb3TE34efQ 我是消防员爸爸,欢迎和我交流讨论。我的微信号:ullychan,请注明“算法”。 苏州地区消防员爸爸提供1对1课程及小班线下课程,欢迎咨询。
分糖果(candy)【题目背景】红太阳幼儿园的小朋友们开始分糖果啦!【题目描述】红太阳幼儿园有n个小朋友,你是其中之一。保证n≥ 2。有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。由于你只是个平平无奇的幼儿园小朋友,所以你的体力有限,至多只能拿R块糖回去。但是拿的...
Each child must have at least one candy. Children with a higher rating get more candies than their neighbors. What is the minimum candies you must give? 这道题看起来很难,其实解法并没有那么复杂,当然我也是看了别人的解法才做出来的,先来看看两遍遍历的解法,首先初始化每个人一个糖果,然后这个算法...
典型的贪心算法题本身可以用贪心法来做,我们用candy[n]表示每个孩子的糖果数,遍历过程中,如果孩子i+1的rate大于孩子i的rate,那么当前最好的选择自然是:给孩子i+1的糖果数=给孩子i的糖果数+1如果孩子i+1的rate小于等于孩子i的rate咋整?这个时候就不大好办了,因为我们不知道当前最好的选择是给孩子i+1多少糖果...
这天,C 小朋友得到了 Plenty of candies,将要把这些糖果分给要好的朋友们。已知糖果从一个人传给另一 个人需要 1 秒的时间,同一个小朋友不会重复接受糖果。由于糖果足够多,如果某时刻 某小朋友接受了糖果,他会将糖果分成若干份,分给那些在他身旁且还没有得到糖果的 小朋友们,而且自己会吃一些糖果。由于嘴馋...
最后累加candy[n]即得到最小糖果数。 这种解法是需要O(n)的辅助空间给candy[]的。 有没有更好的办法? Solution (2) 此方法以及代码部分参考了Shangrila的方法。 请回想一下:我们为什么需要辅助空间?当孩子的rate是一个非递减曲线的时候,我们是不需要辅助空间的,比如5个孩子的rate分别是1,2,5,7,10。那么糖果...
这天,C 小朋友得到了 Plenty of candies,将要把这些糖果分给要好的朋友们。已知糖果从一个人传给另一个人需要 1 秒的时间,同一个小朋友不会重复接受糖果。由于糖果足够多,如果某时刻某小朋友接受了糖果,他会将糖果分成若干份,分给那些在他身旁且还没有得到糖果的小朋友们,而且自己会吃一些糖果。由于嘴馋,小...
[Leetcode] Candy 分糖果 Candy There are N children standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected to the following requirements: Each child must have at least one candy. Children with a higher rating get more candies than their...