爬楼梯

来源:互联网 发布:联合办公 知乎 编辑:程序博客网 时间:2024/04/30 14:56
假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
样例
比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法

返回 3


import java.util.Scanner;/** *  * 假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法返回 3 * @author Dell * */public class Test111 { public static int climbStairs(int n) { if(n==1||n==2) return n; else { return climbStairs(n-1)+climbStairs(n-2); } } public static int climbStairs1(int n) { int[] dp=new int[n+1]; dp[1]=1; dp[2]=2;for(int i=3;i<n+1;i++){dp[i]=dp[i-1]+dp[i-2];} return dp[n]; }public static void main(String[] args) {   Scanner sc=new Scanner(System.in);   int n=sc.nextInt();   System.out.println(climbStairs1(n));}}


原创粉丝点击