Java实现 LeetCode 135 分发糖果】的更多相关文章

135. 分发糖果 老师想给孩子们分发糖果,有 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 颗糖果. 示例…
这是一道hard题,不好想,但最后还是想出来了,私以为还是根据一些思想方法自己想出来做法印象比较深刻,其次看人家的做法思想自己写代码,其次看代码理解默写,其次直接抄代码: 首先,给每个孩子都发一个糖果vector<int> res(len,1),  然后调整, 正向调整,如果当前孩子比之前孩子的分数高,那么令当前孩子的糖果数比之前孩子糖果数大1 res[i]=res[i-1]+1: 反向调整,如果当前孩子比之前孩子的分数高,那么比较当前孩子的糖果数和之前孩子的糖果数+1,取更大的为当前孩子糖果…
1. 题目 2. 解答 初始化左序奖赏全为 1,从左往右遍历,如果右边的人评分比左边高,右边奖赏比左边奖赏增 1. 初始化右序奖赏全为 1,从右往左遍历,如果左边的人评分比右边高,左边奖赏比右边奖赏增 1. 左序奖赏和右序奖赏的最大值就是该孩子的最终奖赏值. class Solution { public: int candy(vector<int>& ratings) { int n = ratings.size(); vector<int> left_reward(n,…
LeetCode:135. 分发糖果 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻的孩子中,评分高的孩子必须获得更多的糖果. 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: 输入: [1,0,2] 输出: 5 解释: 你可以分别给这三个孩子分发 2.1.2 颗糖果. 示例 2: 输入: [1,2,2] 输出: 4 解释: 你可以分别给这三个孩子分…
分发糖果 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻的孩子中,评分高的孩子必须获得更多的糖果. 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: 输入: [1,0,2] 输出: 5 解释: 你可以分别给这三个孩子分发 2.1.2 颗糖果. 示例 2: 输入: [1,2,2] 输出: 4 解释: 你可以分别给这三个孩子分发 1.2.1 颗糖果. 第…
[问题]老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 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…
575. 分糖果 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果.你需要把这些糖果平均分给一个弟弟和一个妹妹.返回妹妹可以获得的最大糖果的种类数. 示例 1: 输入: candies = [1,1,2,2,3,3] 输出: 3 解析: 一共有三种种类的糖果,每一种都有两个. 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3].这样使妹妹获得糖果的种类数最多. 示例 2 : 输入: candies = [1,1,2,3] 输出: 2 解析: 妹妹获得…
455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j ,都有一个尺寸 sj .如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足.你的目标是尽可能满足越多数量的孩子,并输出这个最大数值. 注意: 你可以假设胃口值为正. 一个小朋友最多只能拥有一块饼干. 示例 1: 输入: [1,2,3], [1,1] 输出:…