Day35 贪心算法part04

lemonadeChange

账单是20的情况,为什么要优先消耗一个10和一个5呢?

因为美元10只能给账单20找零,而美元5可以给账单10和账单20找零,美元5更万能!

所以局部最优:遇到账单20,优先消耗美元10,完成本次找零。全局最优:完成全部账单的找零。

That's unbelievable!

根据身高重建队列

# lambda返回的是一个元组:当-x[0](维度h)相同时,再根据x[1](维度k)从小到大排序
people.sort(key=lambda x: (-x[0], x[1]))

用最少数量的箭引爆气球

maya哭了做了四十分钟没做出来,一直不知道加一减一,循环里面一直对循环变量在做处理最后题解里面这个更新重叠边界的属实令人非常惊艳

points[i][1] = min(points[i - 1][1], points[i][1]) # 更新重叠气球最小右边界

尽量少对循环变量处理

你可能感兴趣的:(贪心算法,算法)