【 腾讯精选练习 50 题】10—爬楼梯【简单】

简介: 【 腾讯精选练习 50 题】10—爬楼梯【简单】

题目链接

70. 爬楼梯【简单】

题目简介

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

示例 1:

输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。
1.  1 阶 + 1 阶
2.  2 阶

示例 2:

输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
1.  1 阶 + 1 阶 + 1 阶
2.  1 阶 + 2 阶
3.  2 阶 + 1 阶

题目解析

  1. 简单的dp即可
  2. 我们每一次只能爬一个台阶或者两个台阶,假设我们要爬到 N 层,也就是相当于 爬到 N-1再爬一层 或者 爬到N-2层再爬两层
  3. 我们定义 dp[N] 为爬到 N 层的方法,那么 dp[N] = dp[N - 1] + dp[N - 2]

题目代码

class Solution {
    public int climbStairs(int n) {
        int[] dp = new int[n + 1];
        if(n == 1){
            return 1;
        }
        if(n == 2){
            return 2;
        }
        dp[1] = 1;
        dp[2] = 2;
        for(int i = 3; i <= n; i++){
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
}


相关文章
【 腾讯精选练习 50 题】05—回文数【简单】
【 腾讯精选练习 50 题】05—回文数【简单】
【 腾讯精选练习 50 题】11—最大子序和【简单】
【 腾讯精选练习 50 题】11—最大子序和【简单】
|
存储 算法 Linux
百度2024届暑期实习后端算法题详解
这是百度2024届暑期实习后端岗位的第一轮笔试,总共有十五道单选题,五道多选题,三道编程题,选择题涉及数据库、计算机网络、操作系统、语言基础、补充代码、哈希算法、linux、数据结构、数学等等;时长两个小时,我用的是go语言,编程题前两题挺简单的,最后一题体感虽然很简短,其实很有深度。话不多说,开冲!
156 0
|
开发者
开发者社区答题闯关赛12月期榜单公布啦!
开发者社区答题闯关赛12月榜单已公布,快来看看自己是否中奖!
259 0
开发者社区答题闯关赛12月期榜单公布啦!
|
数据可视化 Python
百度飞桨学院小白逆袭大神第三天题目解析
百度飞桨学院小白逆袭大神第三天题目解析
133 0
百度飞桨学院小白逆袭大神第三天题目解析
字节跳动------剑指offer专题精选谷歌、微软等知名IT企业典型面试题
字节跳动------剑指offer专题精选谷歌、微软等知名IT企业典型面试题
215 0
字节跳动------剑指offer专题精选谷歌、微软等知名IT企业典型面试题
|
消息中间件 缓存 边缘计算
总结牛客前端工程师精选面经合集(四)
总结牛客前端工程师精选面经合集(四)
|
存储 移动开发 JavaScript
总结牛客前端工程师精选面经合集(二)
总结牛客前端工程师精选面经合集(二)
|
缓存 移动开发 JavaScript
总结牛客前端工程师精选面经合集(一)
总结牛客前端工程师精选面经合集(一)
|
Web App开发 前端开发 JavaScript
总结牛客前端工程师精选面经合集(三)
总结牛客前端工程师精选面经合集(三)

热门文章

最新文章