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);
        }
    }
  • 相关阅读:
    python面向对象(进阶篇)
    python面向对象三大特性
    点击头像单独把图片拉取出来.然后再次点击回到初始效果
    关于iOS的自动弹出键盘问题
    为UITextView添加通知..来检测UITextView内容的改变
    null 解决方法
    获取手机的唯一标示uuid
    SDK | 声波传输
    Xcode svn import项目 上传.a文件(静态库)
    点击状态栏回到顶部
  • 原文地址:https://www.cnblogs.com/stono/p/9533117.html
Copyright © 2011-2022 走看看