本文介绍: 成立,才能兼顾题目中所说的相邻两个孩子评分更高的孩子会获得更多的糖果,并且需要最少的糖果,如果反过来,取两边高的话,就会不满足最少的糖果的要求,这里也说明了,在判断左孩子比右孩子大的时候,为什么需要后序遍历的原因,如果前序遍历就没法满足。本题一共用到了两个贪心,第一个是我们的数组中有负数时每次就让绝对值最大的负数转变,直到用到k为零,第二个贪心的地方,如果都为正数,就取最小的一个正数来让其不停的取反,如果k为奇数,反转一次就行,如果k为偶数,即不需要反转。其次,需要满足一个点:我们要让这个等式。
本题目一开始我认为直接排序,让最小的取反回来就直接结束,我太天真了,一个反例直接猝死,下面上贪心的思路:
本题一共用到了两个贪心,第一个是我们的数组中有负数时每次就让绝对值最大的负数转变,直到用到k为零,第二个贪心的地方,如果都为正数,就取最小的一个正数来让其不停的取反,如果k为奇数,反转一次就行,如果k为偶数,即不需要反转。下面上代码:
Leetcode 134. 加油站
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。