当前位置: 首页 > wzjs >正文

集团网站建设哪家好广州关键词快速排名

集团网站建设哪家好,广州关键词快速排名,公安网站备案要多长时间,网页加速器苹果爬楼梯算法现在只看明白动态规划,也没有很难哟!!题目70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?java题解class Solution {public int climbStairs(…

爬楼梯算法

现在只看明白动态规划,也没有很难哟!!

题目
70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
java题解
class Solution {public int climbStairs(int n) {int p = 0, q = 0, r = 1;for (int i = 1; i <= n; ++i) {p = q; q = r; r = p + q;}return r;}
}

这个爬楼梯算法实际上是一个经典的动态规划问题,也可以看作是斐波那契数列的变种。让我来详细解释一下:

问题理解

假设你正在爬楼梯,需要n阶才能到达楼顶。每次你可以爬 1 或 2 个台阶。问有多少种不同的方法可以爬到楼顶?

例如:

  • n=2时,有两种方法:1+1 或直接 2 步
  • n=3时,有三种方法:1+1+1、1+2、2+1
  • n=4时,有五种方法:1+1+1+1、1+1+2、1+2+1、2+1+1、2+2

动态规划思路

动态规划的核心是将大问题分解为小问题,并存储小问题的解避免重复计算。

对于爬楼梯问题,关键观察点是:

  • 到达第i阶楼梯的方法数 = 到达第i-1阶的方法数(再爬 1 步) + 到达第i-2阶的方法数(再爬 2 步)
  • 即状态转移方程:dp[i] = dp[i-1] + dp[i-2]

代码解释

你提供的代码正是基于这个思路实现的,只不过使用了滚动数组优化空间复杂度:

java

public int climbStairs(int n) {int p = 0, q = 0, r = 1;for (int i = 1; i <= n; ++i) {p = q;     // p 记录 dp[i-2] 的值q = r;     // q 记录 dp[i-1] 的值r = p + q; // r 计算当前 dp[i] = dp[i-1] + dp[i-2]}return r;
}

执行过程示例

n=3为例:

  1. 初始状态:p=0q=0r=1
  2. 循环开始:
    • i=1p=0q=1r=p+q=1 → 到达第 1 阶有 1 种方法
    • i=2p=1q=1r=p+q=2 → 到达第 2 阶有 2 种方法
    • i=3p=1q=2r=p+q=3 → 到达第 3 阶有 3 种方法
  3. 返回结果:r=3

复杂度分析

  • 时间复杂度:O (n),只需遍历一次
  • 空间复杂度:O (1),只使用了三个变量

这种优化方法避免了创建长度为n的数组,在空间效率上更高。本质上,这个问题和斐波那契数列的计算是一样的,只是起始条件略有不同(斐波那契通常从 0 和 1 开始,而爬楼梯这里从 1 和 1 开始)。

http://www.dtcms.com/wzjs/343662.html

相关文章:

  • 连云港做网站制作首选公司什么叫外链
  • 网站实时推送怎么做推广方式有哪几种
  • 三亚疫情最新情况seo搜索规则
  • 美食地图网站开发品牌策划推广方案
  • 厦门旅游网站建设北京seo推广系统
  • 江西做网站公司台州seo服务
  • 龙岩抖音小程序开发公司郑州seo哪家专业
  • 郑州专业网站推广公司百度官网登录入口
  • 电子商城网站建设的实训内容记述百度电脑版网页
  • 品牌推广计划长沙网站包年优化
  • 网站开发的目的个人建网站步骤
  • 网站建设技术经理岗位职责seo外包方案
  • 做网站用什么软件设计好宝鸡seo优化公司
  • 成都集团网站建设第三方关键词优化排名
  • 网站建设项目模板新网站多久会被百度收录
  • 营销型网站定制小红书代运营
  • vs2010怎么做网站app开发平台开发
  • 学做网站看什么书如何推广新产品的方法
  • 2022年ppt模板下载aso排名优化
  • 学校做网站的软件网站页面分析作业
  • 政府网站群建设方案百度文库成都专业的整站优化
  • 好的公文写作网站好看的网站设计
  • 国外可以做推广的网站有哪些做销售怎样去寻找客户
  • 通辽做网站新手怎么入行seo
  • 泉州市知名网站建设公司微信推广软件有哪些
  • 邯郸网络名称官网seo是什么
  • 溧水建设局网站焊工培训心得体会
  • 网站开发中如何实现gps定位电商网站对比表格
  • 网站建设得多少钱baidu百度网盘
  • wordpress 开发教程seo专员岗位职责