[Leetcode 135]糖果分配 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 can…
135. 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 mo…
原文:http://www.cnblogs.com/AndyJee/p/4483043.html 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…
135. 分发糖果 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻的孩子中,评分高的孩子必须获得更多的糖果. 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: 输入: [1,0,2] 输出: 5 解释: 你可以分别给这三个孩子分发 2.1.2 颗糖果. 示例 2: 输入: [1,2,2] 输出: 4 解释: 你可以分别给这三个孩子分发 1.2.1 颗…
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…
分发糖果 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻的孩子中,评分高的孩子必须获得更多的糖果. 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: 输入: [1,0,2] 输出: 5 解释: 你可以分别给这三个孩子分发 2.1.2 颗糖果. 示例 2: 输入: [1,2,2] 输出: 4 解释: 你可以分别给这三个孩子分发 1.2.1 颗糖果. 第…
题目链接 : https://leetcode-cn.com/problems/candy/ 题目描述: 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻的孩子中,评分高的孩子必须获得更多的糖果. 那么这样下来,老师至少需要准备多少颗糖果呢? 示例: 示例 1: 输入: [1,0,2] 输出: 5 解释: 你可以分别给这三个孩子分发 2.1.2 颗糖果. 示例…
作者: 负雪明烛 id: fuxuemingzhu 个人公众号: 每日算法题 本文关键词:力扣,LeetCode,算法题,算法,Python 目录 题目描述 题目大意 解题方法 代码 刷题心得 关于作者 日期 题目地址:https://leetcode.com/problems/fair-candy-swap/description/ 题目描述 Alice and Bob have candy bars of different sizes: A[i] is the size of the i-…
原题地址 遍历所有小孩的分数 1. 若小孩的分数递增,分给小孩的糖果依次+12. 若小孩的分数递减,分给小孩的糖果依次-13. 若小孩的分数相等,分给小孩的糖果设为1 当递减序列结束时,如果少分了糖果,就补上,如果多分了糖果,就减掉 究竟补多少或减多少,这很容易计算,不啰嗦了. 时间复杂度:O(n) 代码: int candy(vector<int> &ratings) { int n = ratings.size(); ; ; ; ; i < n; i++) { ]) { pr…
这是一道hard题,不好想,但最后还是想出来了,私以为还是根据一些思想方法自己想出来做法印象比较深刻,其次看人家的做法思想自己写代码,其次看代码理解默写,其次直接抄代码: 首先,给每个孩子都发一个糖果vector<int> res(len,1),  然后调整, 正向调整,如果当前孩子比之前孩子的分数高,那么令当前孩子的糖果数比之前孩子糖果数大1 res[i]=res[i-1]+1: 反向调整,如果当前孩子比之前孩子的分数高,那么比较当前孩子的糖果数和之前孩子的糖果数+1,取更大的为当前孩子糖果…