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

    70. 爬楼梯

    https://leetcode-cn.com/problems/climbing-stairs/description/

    package com.test;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class Lesson070 {
        public static void main(String[] args) {
            int n = 45;
            int i = climbStairs(n);
            System.out.println(i);
        }
    
        public static int climbStairs(int n) {
            Map<Integer,Integer> map= new HashMap<>();
            map.put(1, 1);
            map.put(2, 2);
            map.put(3		,3);
            map.put(4		,5);
            map.put(5		,8);
            map.put(6		,13);
            map.put(7		,21);
            map.put(8		,34);
            map.put(9		,55);
            map.put(10		,89);
            map.put(11		,144);
            map.put(12		,233);
            map.put(13		,377);
            map.put(14		,610);
            map.put(15		,987);
            map.put(16		,1597);
            map.put(17		,2584);
            map.put(18		,4181);
            map.put(19		,6765);
            map.put(20		,10946);
            map.put(21		,17711);
            map.put(22		,28657);
            map.put(23		,46368);
            map.put(24		,75025);
            map.put(25		,121393);
            map.put(26		,196418);
            map.put(27		,317811);
            map.put(28		,514229);
            map.put(29		,832040);
            map.put(30		,1346269);
            map.put(31		,2178309);
            map.put(32		,3524578);
            map.put(33		,5702887);
            map.put(34		,9227465);
            map.put(35		,14930352);
            map.put(36		,24157817);
            map.put(37		,39088169);
            map.put(38		,63245986);
            map.put(39		,102334155);
            map.put(40		,165580141);
            map.put(41		,267914296);
            map.put(42		,433494437);
            map.put(43		,701408733);
            map.put(44		,1134903170);
            map.put(45		,1836311903);
            for(int i=3;i<Integer.MAX_VALUE;i++) {
                Integer i1 = map.get(i - 1);
                Integer i2 = map.get(i - 2);
                if (i1 + i2 < 0) {
                    break;
                }
                map.put(i,i1+i2);
                System.out.println("map.put("+i+"		,"+map.get(i)+");");
            }
            return map.get(n);
            // 每次都有两种选择
    //        if (n - 1 == 0) {
    //            return 1;
    //        }
    //        if (n - 2 == 0) {
    //            return 2;
    //        }
    //        if (n - 44 == 0) {
    //            return 1134903170;
    //        }
    //        // 向后回溯只是两种情况的累加
    //        return climbStairs(n-1)+climbStairs(n-2);
        }
    }
  • 相关阅读:
    Vue Cli3.0 使用jquery
    使用js加载器动态加载外部js、css文件
    通过js获取本机的IP地址
    $.ajax 中的contentType类型
    vue中 :style 与 :class 三元运算符使用
    bootstrap table checkbox获得选中得数据
    vscode自动生成文件头部注释和函数注释
    axios二次封装的几种方法
    vue组件库element-ui 的Table内容显示不更新
    Linux中iptables设置详细
  • 原文地址:https://www.cnblogs.com/stono/p/9533117.html
Copyright © 2011-2022 走看看