第十二届蓝桥杯寒假训练1月20日
1. 贪心算法
某度词条:
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。
贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。也就是说,不从整体最优上加以考虑,做出的只是在某种意义上的局部最优解 。
贪心算法,就是将一个问题,分成许多小问题,每个小问题最优解的总和。它是从分成局部的小问题,从而推导出整体的最优。但是,并不是所有的问题都是可以都能通过贪心算法得到最优解。
使用贪心算法所需要的性质:
1、可分
整体问题可分成局部问题,对于具体问题,必须证明每一步所作的贪心选择最终导致问题的整体最优解。
2、有最优解
满足所有可分选择中的最优解都能得出,且能推导出一个问题的最优解包含各子问题的最优解。
1月20日
力扣
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够: 我们可以先跳 1 步,从位置 0 到达位置 1, 然后再从位置1 跳 3 步到达最后一个位置。
示例 1:
输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后