- 博客(4)
- 收藏
- 关注
原创 动态规划第四天
leetcode 学习计划 动态规划第四天 1.跳跃游戏 题目地址 这题我们可以用贪心法解决。 首先一个变量max(初始值为nums[0])记录最大可以到达的数组位置,然后遍历数组,如果max小于数组下标表示这个位置不可达,即失败,否则更新最大值为Math.max(max, nums[i] + i) 代码如下 public boolean canJump(int[] nums) { int max = nums[0]; for (int i = 1; i < nums.length; i++) {
2022-04-22 00:04:16
2736
原创 动态规划第三天
leetcode 学习计划 动态规划第三天 1.打家劫舍 题目地址 这题第k家的最大值为(盗取第k-2的最大值+盗取第k家所得的钱) 和 (盗取第k-1家的最大值) 的最大值,动态转移方程如下 dp(k)=max(dp(k-1),dp(k-2)+nums[k]); 代码如下 public int rob(int[] nums) { if (nums.length == 1) { return nums[0]; } int[] dp = new int[nums.le
2022-04-20 23:58:16
67
原创 动态规划第二天
leetcode 学习计划 动态规划第二天 1.爬楼梯 链接地址 到第n层,有两种情况,一种为到第n层走了一个台阶,一种是走了两个台阶,所以此题动态转移方程为 f(n)=f(n-1)+f(n-2),n>2 f(1)=1; f(2)=2; 代码如下 public int climbStairs(int n) { if(n<=2){ return n; } int a=1; int b=2; for(int i=3;i<n;i++){
2022-04-19 22:48:11
63
原创 动态规划第一天
leetcode 学习计划 动态规划第一天1.斐波那契树2.第 N 个泰波那契数 链接:leecode地址. 1.斐波那契树 题目地址 斐波那契数公式为 F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2) , n>1 首先想到使用递归 public int fib(int n) { if(n<=1){ return n; } return fib(n-1)+fib(n-2); } 但是这种解法有问题 f(10)=f
2022-04-18 22:24:38
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人