o2o网站建设渠道,wordpress最大文件,三明做网站,wordpress首页图片导航分类文章目录题目描述代码 思路1. 动态规划 O(n)、O(n)2. 动态规划 O(n)、O(1)题目描述
DP 入门题了属于是
代码 思路
1. 动态规划 O(n)、O(n)
dp[i]#xff1a;可以到第 i 阶的方法有dp[i]种#xff0c;所以dp[n]就是ans#xff08;注意dp.length n1#xf…
文章目录题目描述代码 思路1. 动态规划 O(n)、O(n)2. 动态规划 O(n)、O(1)题目描述
DP 入门题了属于是
代码 思路
1. 动态规划 O(n)、O(n)
dp[i]可以到第 i 阶的方法有dp[i]种所以dp[n]就是ans注意dp.length n1显而易见dp[1]是1dp[2]是2一脚直接1阶一脚直接2阶 or 先一阶再二阶因此我们初始化dp[1]dp[2]然后直接由此循环得到结果即可
class Solution {int ans 0;public int climbStairs(int n) {if(n 2){return 1;}// dp[i]代表有dp[i]种方法到第n阶int[] dp new int[n1];// 走0阶和1阶需要的// 由此实现之后的每一个台阶都可以看成之前的台阶走两步或走一步到dp[1] 1; dp[2] 2;// 初始化结束现在开始找结果for(int i 3;i n;i){dp[i] dp[i-1] dp[i-2];}return dp[n];}
}2. 动态规划 O(n)、O(1)
在1的基础上改实际上只需要维护三个变量即可。
class Solution {int ans 0;public int climbStairs(int n) {if(n 2){return 1;}int first 1;int second 2;int res -1;// 初始化结束现在开始找结果for(int i 3;i n;i){res first second;first second;second res;}return res;}
}