- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
爱丽丝是一名幼儿园老师。她想给类的 children 一些糖果。所有的 child 都坐成一排,每个 child 都根据自己平时的表现打分。爱丽丝想给每个 child 至少 1 颗糖果。因为 child 是莫名其妙的嫉妒。爱丽丝必须根据任何相邻的 2 个 child 的评分对象给她糖果,如果一个 child 的评分高于另一个,他/她必须得到比另一个更多的糖果。爱丽丝想省钱,所以她总共只给糖果。
输入的第一行是一个整数N
,即爱丽丝所在类(class)的 child 人数。以下 N
行中的每一行都包含一个整数,表示每个 child 的评分。
在输出的唯一一行打印一个整数,描述 Alice 必须给出的最小糖果数。
3
1
2
2
4
Alice 必须给的糖果数量是 1,2 和 1。
N
并且每个 child 的评分不大于 10^5。
谁能帮帮我?
最佳答案
您可以分两次完成此操作。从每个人都有一颗糖果开始。
首先循环 i 从 1 到 n-1(从零开始),如果 rating[i] > rating[i-1] 那么 candies[i] = candies[i-1]+1
然后循环i从n-2到0;如果 rating[i] > rating[i+1] then candies[i] = max(candies[i], candies[i+1]+1)
很容易证明这会为您提供有效的糖果分配,因为第二个循环不能破坏第一个循环确定的任何内容,并且所有可能的评级差异都必须由两个循环之一捕获。这将使用最少数量的糖果并不那么明显,但如果您仔细检查每个作业,您可以证明条件证明了每个步骤(特定个人)所需糖果数量的下限。
关于algorithm - 糖果 - interviewstreet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292913/
爱丽丝是一名幼儿园老师。她想给类的 children 一些糖果。所有的 child 都坐成一排,每个 child 都根据自己平时的表现打分。爱丽丝想给每个 child 至少 1 颗糖果。因为 chil
我在比赛的某个地方发现了这个问题,但还没有想出解决方案。 The boy has apples and keeps in boxes. In one box no more than N/2. How
昨天我参加了 Google code jam 比赛。有糖果 split 问题。 http://code.google.com/codejam/contest/dashboard?c=975485#s=
我正在尝试解决 hackerrank在 JavaScript 中挑战,虽然对于大多数测试实例,我的解决方案都执行得很好,但我不断地遇到其中一些的超时(Hackerrank 将其设置为 10 秒以用于
我是一名优秀的程序员,十分优秀!