本文介绍: 解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。第一次正向遍历,保证每个孩子右侧的具有更高分数的孩子获得更多的糖果。第二次反向遍历,保证每个孩子左侧的具有更高分数的孩子获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。只需要遍历一次,且不存储每个孩子的糖果数。相邻两个孩子评分更高的孩子会获得更多的糖果。需要遍历两次,并存储每个孩子的糖果数。每个孩子至少分配到 1 个糖果。
135.分发糖果
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。
你需要按照以下要求,给这些孩子分发糖果:
每个孩子至少分配到 1 个糖果。
相邻两个孩子评分更高的孩子会获得更多的糖果。
请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。
示例 1:
示例 2:
提示:
方法1:
第一次正向遍历,保证每个孩子右侧的具有更高分数的孩子获得更多的糖果。
第二次反向遍历,保证每个孩子左侧的具有更高分数的孩子获得更多的糖果。
需要遍历两次,并存储每个孩子的糖果数。
方法2:
只需要遍历一次,且不存储每个孩子的糖果数。执行效率更高。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。