2022年04月18日 02:14:00
贪心算法(2)-51小手艺
贪婪 算法演习 记载 :leetcode 一 三 五 https://leetcode-cn.com/problems/candy/分糖因,一群儿童站成一排,每个儿童有本身 的评分。如今 依照 如下 请求去给那些儿童领糖因,分糖因的准则是:假如 一个儿童的评分比本身 旁边儿童的分数下,这么那个评分下的儿童便必需 获得 比身边儿童更多的糖因;任何儿童至长要有一个糖因。计较 分糖因须要 预备 的糖因数码。思绪 :第一个前提 :每一个儿童至长要有一个糖因。创立 一个年夜 小为人数年夜 小的数组,始初化为 一;第两个前提 :一个儿童的评分比本身 旁边儿童的分数下,这么那个评分下的儿童便必需 获得 比身边儿童更多的糖因。先从右往左遍历一遍,假如 左边儿童的评分比右边的下,则左边儿童的糖因数更新为右边儿童的糖因数添 一;再从左往右遍历一遍,假如 右边儿童的评分比左边的下,且右边儿童当前的糖因数 小于或者者即是 左边儿童的糖因数则右边儿童的糖因数更新为左边儿童的糖因数添 一.(添上绿色字体那个限定 是那种环境:例如ratings=[ 一 二 一],从右往左遍用时第两个儿童的糖因数为 二,第三个儿童的糖因数为 一;从左往右遍用时,第两个儿童的分数下于第三个儿童的分数,然则 第两个儿童的糖因曾经年夜 于第三个儿童了,以是 他的糖因数目 没有须要 再增长 了)。代码真现:分糖因C说话 真现
标签:黑客