给定一个非负整数数组,最初位于数组的第一个元素位置,数组中的每个元素代表你在该位置可以跳跃的最大长度,如何使用最少的跳跃次数到达数组的最后一个位置?...在这个最大的跳跃范围内,需要选取一个合适值,保证下次跳跃能达到最大距离.
3. 通过上面的分析,我们发现需要3个指针
慢指针,指向当前已选择元素所在位置....按这个思路,我们一起分析下,上面数组是如何跳跃的.
1. 起始状态
2. 根据slow指针指向的元素值,quick指针应该移动到array[2]
3....通过上述流程,可以发现当我们不能从整体上给出一个最优方案时,可以只根据当前状态给出最好选择,做出局部意义上的最优解. 这种问题求解的思路叫做贪心算法.