第39级台阶—题解
来源:互联网 发布:exo在韩国的地位 知乎 编辑:程序博客网 时间:2024/05/20 13:08
目描述:
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
输出格式:
小明刚刚看完电影《第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
- 第39级台阶—题解
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- Android launchmode
- [推荐算法]UserCF,基于用户的协同过滤算法
- iOS上一种图书翻页效果的实现(Leaves)详解
- c预处理命令偏门知识
- URAL 1721. Two Sides of the Same Coin 二分匹配 构图
- 第39级台阶—题解
- 多文档
- java中类之间的数据传递
- 算法练习系列—hiho1048 状态压缩一(铺地砖)
- HTML5.js与@media screen and(){}.js媒体查询技术
- Leetcode---Pow(x, n)
- 算法训练 回文数
- JAVA环境变量设置没问题,就是无法加载类的问题
- IOS UICollectionView (Storyboard篇)