贪心算法(greedy algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。贪心算法只关注当前所知,不分析历史。最小生成树、哈夫曼编码等都可以用贪心算法解决。无法解决所有最优化问题。»
leetcode greedy algorithm problem set
买股票
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
|
|
局部最优:预好就收
跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
|
|
局部最优:每一个位置可达到的最远 = max(之前位置可达到的最远, 每一个位置+该位置获得的跳数)