zoukankan      html  css  js  c++  java
  • 动态规划——走阶梯问题

    问题:

    有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?

    注:规定从一级到一级有0种走法。

    分析:

    (1)公式 F(n) = F(n-1)+F(n-2)。

    (2)初始化:因为F(1) = 0,所以F(2) = 1;F(3) = 2。

    (3)使用switch实现多重判断

    code :

     1 import java.util.Scanner;
     2 
     3 public class Main {
     4     public static void main(String args[]) {
     5         Scanner in = new Scanner(System.in);
     6         int n = in.nextInt();
     7         int m;
     8         while(n>0) {
     9             m = in.nextInt();
    10             
    11             switch(m) {
    12             case 1:
    13                 System.out.println(0);
    14                 break;
    15             case 2:
    16                 System.out.println(1);
    17                 break;
    18             case 3:
    19                 System.out.println(2);
    20                 break;
    21             default:
    22                 int[] dp = new int[m+1];
    23                 dp[1] = 0;
    24                 dp[2] = 1;
    25                 dp[3] = 2;
    26                 for(int i=4;i<=m;i++) {
    27                     dp[i] = dp[i-1]+dp[i-2]+1;
    28                 }
    29                 System.out.println(dp[m]);
    30             }
    31             n--;
    32         }
    33         in.close();
    34     }
    35 }
  • 相关阅读:
    OpenLDAP与Apache
    OpenLDAP双主
    OpenLDAP主从
    LDAP与禅道
    LDAP与jenkins
    LDAP与Samba
    LDAP与SSH
    LDAP客户端
    LDAP与migrationtools 导入系统账号
    OpenLDAP与phpldapadmin的搭建
  • 原文地址:https://www.cnblogs.com/dream-flying/p/12800804.html
Copyright © 2011-2022 走看看