Lc70_爬楼梯

package com.example.leetcode;

/**
 * @description: s
 * @author: licm
 * @create: 2021-05-26 09:48
 **/
public class Lc70_爬楼梯 {
    /**
     * 1. 确定dp[i] 含义,代表每一个楼梯可以走到的几种方法
     * 2. 状态转移方程 fn = f(n-1)+f(n-2)
     * 3. 初始化 dp[0]=1  dp[1] = 2
     * 4. 确定遍历顺序 从左到又
     * 5. 列举答案
     * @param n
     * @return
     */
    public static int climbStairs(int n) {
        if(n<2){
            return  n;
        }
        int[] dp = new int[n+1];
        dp[1]=1;dp[2]=2;
        for (int i = 3; i <=n; i++) {
            dp[i] = dp[i-1]+dp[i-2];
        }
        return dp[n];
    }

    public static void main(String[] args) {
        System.out.println(climbStairs(3));
    }
}

posted @   小傻孩丶儿  阅读(42)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2020-05-26 删除目录a和a里面所有的文件包括文件夹
2020-05-26 Lc169_多数元素
2020-05-26 2020-2021,十六个月准备,p6
点击右上角即可分享
微信分享提示