zoukankan      html  css  js  c++  java
  • 爬楼梯

    题目:

    描述:假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

    样例

    比如n=31+1+1=1+2=2+1=3,共有3中不同的方法

    返回 3

    思路:

    即:当楼梯阶数n为1或2时,步数等于阶梯数;

        当楼梯阶数大于2时,其步数为(n-1)的步数与(n-2)的步数之和。

    源码:

    package day01;
    
    import java.util.Scanner;
    
    public class climbStairs {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner print = new Scanner(System.in );
            System.out.print("请给楼梯阶数n赋值:");
            int n =print.nextInt();
            climbStairs(n);
    //        int a=climbStairs(5);
    //        System.out.println(a);
    // 
        }
        public static int climbStairs(int n) {
            // write your code here
            if(n == 0) {
                System.out.println("阶数为0,不存在爬楼梯步数");
                return -1;
                }
            if(n <= 2){
                System.out.println("当阶数为1或2时,爬楼梯步数即为1或2");
                return n;
            }
            int n1=1,n2=2,n3=0;
            for(int i = 3; i <= n; i++)
                {
                     n3 = n1 + n2;
                     n1=n2 ;
                     n2 = n3;
                }
            System.out.println("阶数为"+n+"时的爬楼梯数为:"+n3);
            return n3;
        }
    
    }
  • 相关阅读:
    Asp.Net根据角色验证
    牛客登录(四)
    外键约束
    update 和replace更新表
    每日一题力扣485
    牛客登录(6)开窗函数
    牛客登录(5)
    MySQL的UPDATE或DELETE中子查询不能为同一张表
    牛客登录(二)
    剑指offer:二分
  • 原文地址:https://www.cnblogs.com/sunssh/p/6518660.html
Copyright © 2011-2022 走看看