第39级台阶—题解

来源:互联网 发布:exo在韩国的地位 知乎 编辑:程序博客网 时间:2024/05/20 13:08
目描述:
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
输出格式:

输出一个整数


解题思路:   

1.基础的动态规划

2.暴力搜索

源代码:

/** *  *  第39级台阶 * */public class Main{public static void main(String[] args){// 0表示左脚, 1表示右脚 //dp[10][0]表示10级台阶左脚到达多少种?//dp[10][1]表示10级台阶右脚到达多少种? int dp[][] = new int[40][2]; dp[1][0] = 1;         dp[1][1] = 0;         dp[2][0] = 1;         dp[2][1] = 1;         for (int i = 3; i < 40; i++)         {             dp[i][0] = dp[i-1][1] + dp[i-2][1];             dp[i][1] = dp[i-1][0] + dp[i-2][0];         }         System.out.println(dp[39][1]);               }}-------------------------------------------------------public class Main{public static void main(String[] args){System.out.println(f(39));}// 左脚private static int f(int i){       if (i == 1) return 0;       if (i == 2) return 1;              return g(i-1) + g(i-2);}// 右脚private static int g(int i){       if (i == 1) return 1;       if (i == 2) return 1;              return f(i - 1) + f(i - 2);}}


0 0
原创粉丝点击