贪心法:在每一步都选局部最优,问题的整体最优解可以通过一系列局部最优选择而得到。
优点:复杂度常常是O(1)的。
常见的贪心问题:
翻硬币
快乐司机
考察了类对象的排序
旅行家的预算
贪心:找下一个更便宜(不是最便宜)的加油站 j,油两种情况在j停车加油
1.第j个油站比当前价格低,在第j站停下,此时在i站只加够开到j的油。
2.油不够开到第j+1站,在第j站停下,在i站加满。
开始编写的代码有错
错误1
i虽然在N处结束循环,但不需要i++去影响,应该换成while(i<=N)
错误2
两个if判断逻辑错误,顺序应该调整,如果第j个加油站的油比i便宜,但一箱油开不过去也是不可以的。
正确代码如下