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

seo优化网站网页教学包装设计的意义

seo优化网站网页教学,包装设计的意义,开发手机网站多少钱,可以自己做logo的网站LeetCode 热题 100 | 70. 爬楼梯 大家好,今天我们来解决一道经典的动态规划入门题——爬楼梯。这道题在LeetCode上被标记为简单难度,要求我们计算爬到第n阶楼梯的不同方法数,每次可以爬1或2个台阶。下面我将详细讲解解题思路,并附…

LeetCode 热题 100 | 70. 爬楼梯

大家好,今天我们来解决一道经典的动态规划入门题——爬楼梯。这道题在LeetCode上被标记为简单难度,要求我们计算爬到第n阶楼梯的不同方法数,每次可以爬1或2个台阶。下面我将详细讲解解题思路,并附上Python代码实现。

问题描述

你需要爬一个有n阶的楼梯,每次可以爬1或2个台阶。求有多少种不同的方法可以爬到楼顶。

示例:

  • n=2 → 2种 (1+1, 2)
  • n=3 → 3种 (1+1+1, 1+2, 2+1)
正确解法一:动态规划(迭代法)
def climbStairs(n):if n <= 2:return ndp = [0]*(n+1)dp[1], dp[2] = 1, 2for i in range(3, n+1):dp[i] = dp[i-1] + dp[i-2]return dp[n]

时间复杂度:O(n)
空间复杂度:O(n)

正确解法二:空间优化动态规划
def climbStairs(n):if n <= 2:return na, b = 1, 2for _ in range(3, n+1):a, b = b, a+breturn b

时间复杂度:O(n)
空间复杂度:O(1)

正确解法三:矩阵快速幂(进阶)
def climbStairs(n):def matrix_pow(mat, power):# 实现矩阵快速幂...mat = [[1,1],[1,0]]return matrix_pow(mat, n)[0][0]

时间复杂度:O(log n)
空间复杂度:O(1)


常见错误解法分析

错误解法:朴素递归
def climbStairs(n):if n == 1:return 1if n == 2:return 2return climbStairs(n-1) + climbStairs(n-2)

问题分析

  1. 存在大量重复计算(如计算climbStairs(5)会重复计算climbStairs(3))
  2. 时间复杂度高达O(2n),n=45时需要约245≈35万亿次计算
  3. 实际运行会超时(LeetCode上n=45时无法通过)
错误解法可视化(n=5时的调用树):
climbStairs(5)
├── climbStairs(4)
│   ├── climbStairs(3)
│   │   ├── climbStairs(2)
│   │   └── climbStairs(1)
│   └── climbStairs(2)
└── climbStairs(3)├── climbStairs(2)└── climbStairs(1)
改进建议:
  1. 记忆化递归(添加缓存):
def climbStairs(n, memo={1:1, 2:2}):if n not in memo:memo[n] = climbStairs(n-1) + climbStairs(n-2)return memo[n]
  1. 改用迭代法(推荐)

性能对比(n=45时)

方法时间复杂度实际运行时间
朴素递归O(2^n)>1小时
记忆化递归O(n)0.1ms
基础动态规划O(n)0.05ms
空间优化动态规划O(n)0.03ms
矩阵快速幂O(log n)0.01ms

关键总结

  1. 避免朴素递归:对于有重叠子问题的情况,递归会导致指数级时间复杂度
  2. 优先选择迭代:动态规划的迭代实现是最可靠的解法
  3. 空间可以优化:用两个变量代替数组可将空间复杂度降到O(1)
  4. 注意边界条件:n=1和n=2时需要特殊处理

最终推荐写法

def climbStairs(n):a, b = 1, 1for _ in range(1, n):a, b = b, a + breturn b
http://www.dtcms.com/a/460106.html

相关文章:

  • 做网站用什么语言数据库专门做招商的网站是什么意思
  • 网站统计排名东莞市官网网站建设平台
  • 用php做网站难吗centos怎么安装wordpress
  • 国外网站设计 网址启东网站建设公司
  • 教育网站开发需求分析中企动力销售工作内容
  • 网站开发项目经理注意事项没有网站可以做seo
  • 怎么制作网站首页做网站不好做
  • 沧州哪家做网站好猪八戒logo设计网站
  • 商城网站建设模板网络服务停用
  • 材料信息价查询网站品牌建设公司排名
  • 网站建设应该考虑哪些问题廊坊seo外包服务
  • 重庆网站建设招聘网络设计专业学什么
  • 南宁网站制作企业广西城乡建设部网站
  • 那种网站打不开代理网站地址
  • 做麻将网站网站分为几级页面
  • 宁波余姚网站建设网站导入
  • 湖南营销型网站手机页面网站模板怎么卖
  • 开化网站建设公司线上商城模板
  • 网站建设的请示报告国内自建站
  • 美容院门户网站开发永久 终身 云服务器
  • 郑州网站设计收费全世界足球排名前十位
  • 做视频网站需要什么手续常州公司网站建设多少钱
  • 门户app网站建设多少钱长春建站方法
  • 汕头网站建设只需要800潍坊网站制作最低价格
  • 商城网站建设价格成都有名的软件开发公司
  • 创办一个网站的费用网站建设可行性方案模板
  • 昌平知名的网站制作建设报价做选择网站
  • 个人网站开发技术如何创建微信小程序
  • 公司手机网站制作广州软件园软件开发公司
  • 如何修改网站域名济南房产查询网官网