题解 | #跳台阶#

跳台阶

http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

C语言求解青蛙跳台阶问题

  1. 解题思路:很基本的动态规划问题。假设青蛙求跳n级台阶,那么青蛙的上一级台阶只能是(n-1)级台阶,或者是(n-2)级台阶,所有dp[n]=dp[n-1]+dp[n-2] 使用两个变量保存一下两个前驱dp即可。
 * 
 * @param number int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int jumpFloor(int number ) {
    // write code here
    if(number==1)
        return 1;
    if(number==2)
        return 2;
    int temp1=1,temp2=2,temp=0;
    //这一步使得 temp1=2 temp2=1+2=3
    for(int i=2;i<number;i++){
        temp=temp2;
        temp2=temp1+temp2;
        temp1=temp;
    }
    return temp2;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务