【题目】:
【解法】:
第一开始,想到的是采用递归的方式,后来出现了栈泄露的错误。后来看了Discuss发现可以使用循环的方式。
[解法1] 从头到尾循环
每次的for循环只循环当前点能到的所有的点,且每次的循环条件都会改变。相当于循环的范围不断扩大,直到末尾。具体代码如下:
[解法2]从尾到头循环
【题目】:
【解法】:
在上题 [从头到尾的循环] 方法的基础上,找到某一点能到的点中,i+nums[i]值最大的点,接着从这一点开始继续寻找,每找到一个新的点,跳跃的步数就增加1,知道末尾。具体代码如下: