算法笔试模拟题精解之“跳房子” <65算法笔试模拟题精解之“跳房子”贡献者 | 黄信旭简介:这是一个动态规划的问题。设 f(i) 为到第 i 个位置处的最小步数。初始化 f的每个位置步数都是一个足够大的值。题目描述题目等级:中等知识点:DP查看题目:跳房子给出一个长度为 n 的数组 a ,数组中的值 a[i] 表示你在第 i 个位置最多能够移动到第 i + a[i] 个位置,并且不能超过 n。你可以选择移动到的位置包括:i, i+1, ...i+a[i]。你需要确定移动到第 n 个位置的最小移动次数。如果无法移动到第 n 个位置请输出 -1。输入数组的长度 n(1<=n<=100000),和含有 n 个数字的数组 a,a[i] 表示第 i个位置最多能够移动到第 i + a[i] 个位置(0 <= a[i] <= 100)。输出一个数字,表示最小的移动次数。示例 1输入:5[2, 3, 1, 4, 5]66>算法笔试模拟题精解之“跳房子”输出:2注意最优路径为:1->2->5解题思路:动态规划这是一个动态规划的问题。设 f(i) 为到第 i 个位置处的最小步数。初始化 f 的每个位置步数
目录
156
0
收起右侧 展开右侧
程序员面试宝典 > 算法笔试模拟题精解之“跳房子”
  • 读书笔记
    我的笔记
    暂无相关笔记,快来写一篇吧!
点击浏览下一章>>