摘要: "116 跳跃游戏" 给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你是否能到达数组的最后一个位置。 注意事项 这个问题有两个方法,一个是贪心和 动态规划。 贪心方法时间复杂度为O(N)。 动态规划方法的时间复杂度为为O(n^2)。 阅读全文
posted @ 2017-07-18 22:21 LiBaoquan 阅读(682) 评论(0) 推荐(0) 编辑
摘要: "115 不同的路径 II" "不同的路径" 的跟进问题: 现在考虑网格中有障碍物,那样将会有多少条不同的路径? 网格中的障碍和空位置分别用 1 和 0 来表示。 注意事项 m 和 n 均不超过100 样例 如下所示在3x3的网格中有一个障碍物: [ [0,0,0], [0,1,0], [0,0,0 阅读全文
posted @ 2017-07-18 18:56 LiBaoquan 阅读(292) 评论(0) 推荐(0) 编辑
摘要: "114 不同的路径" 有一个机器人的位于一个 m × n 个网格左上角。 机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。 问有多少条不同的路径? 注意事项 n和m均不超过100 样例 给出 m = 3 和 n = 3, 返回 6. 给出 m = 4 和 n = 5, 返回 3 阅读全文
posted @ 2017-07-18 18:30 LiBaoquan 阅读(886) 评论(0) 推荐(0) 编辑
摘要: "111 爬楼梯" 假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法 返回 3 标签 动态规划 思路 使用动态规划,用 dp[i] 记录走到第 i 步共有多少种方法 动态转移 阅读全文
posted @ 2017-07-18 14:51 LiBaoquan 阅读(294) 评论(0) 推荐(0) 编辑
摘要: "110 最小路径和" 给定一个只含非负整数的m n网格,找到一条从左上角到右下角的可以使数字和最小的路径。 注意事项 你在同一时间只能向下或者向右移动一步 样例 标签 动态规划 思路 使用动态规划,用二维数组 dp[i][j] 表示网格第 i 行、第 j 列元素到右下角的最小路径 动态转移方程为: 阅读全文
posted @ 2017-07-18 14:06 LiBaoquan 阅读(933) 评论(0) 推荐(0) 编辑
摘要: "109 数字三角形" 给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。 注意事项 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行数。 样例 比如,给出下列数字三角形: [ [2], [3,4], [6,5,7], [4,1 阅读全文
posted @ 2017-07-18 13:01 LiBaoquan 阅读(414) 评论(0) 推荐(0) 编辑