递归和动态规划问题:跳跃游戏

题目

  给定数组 arr, arr[i] = k 代表可以从位置 i 向右跳 1~k 个距离。比如,arr[2] == 3, 代表从位置 2 可以跳到位置3、位置4或位置5。如果从位置 0 出现,返回最少跳几次能跳到 arr 最后的位置上。

举例

  arr=[3, 2, 3, 1, 1, 4]。

  arr[0] = 3, 选择跳到位置 2; arr[2] = 3, 可以跳到最后的位置,所以返回 2。

要求

  如果 arr 的长度为 N, 要求实现时间复杂度为 O(N), 额外空间复杂度为 O(1)。

难度

  一星

【解答】

  

猜你喜欢

转载自www.cnblogs.com/zlxyt/p/10532506.html