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

网站开发需要学些什么苏州关键词seo排名

网站开发需要学些什么,苏州关键词seo排名,国际外贸平台排名,扫码进入网站 怎么做题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例…

题目

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

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

示例

示例 1:

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

示例 2:

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

分析

如果使用递归,时间复杂度是O(2^{n}),呈指数级增长,会超时。

动态规划是对递归方法的优化,避免了重复计算。我们可以使用一个数组来记录到达每一阶楼梯的方法数,然后根据递推关系逐步计算出到达第 n 阶楼梯的方法数。

动态规划法

时间复杂度:O(n)

空间复杂度:O(n)

class Solution {
public:int climbStairs(int n) {if (n == 1) {return 1;}std::vector<int> dp(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];}
};

优化空间复杂度的动态规划法

可以发现,在计算到达第 i 阶楼梯的方法数时,只需要用到第 i - 1 阶和第 i - 2 阶的方法数,所以不需要使用一个数组来存储所有的中间结果,只需要使用两个变量来记录这两个值即可。

时间复杂度:O(n)

空间复杂度:O(1)

class Solution {
public:int climbStairs(int n) {if (n == 1) {return 1;}int first = 1;int second = 2;for (int i = 3; i <= n; ++i) {int third = first + second;first = second;second = third;}return second;}
};
http://www.yidumall.com/news/86689.html

相关文章:

  • 高端网站定制策划互联网全媒体广告代理
  • 死循环网站关键词com
  • 网站手机定位授权怎么做市场调研怎么写
  • 西安市网站制作公司大数据营销经典案例
  • 派出所网站免费源代码外贸网站都有哪些
  • 网站制作滚动字幕怎么做互联网广告联盟
  • 网站建设的目标定义济南做网站推广哪家好
  • 常德市做网站的公司微信推广软件
  • 桂林日月双塔手机优化软件排名
  • 网站开发合同适用印花税什么是网络营销渠道
  • 做一个自己的网站公司建设网站哪家好
  • 上海网站报价怎么推广产品
  • 网站开发属于什么费用logo网站设计
  • 四川省城乡与建设厅网站如何在百度上推广自己
  • 建设部网站公民服务上海b2b网络推广外包
  • 用kid做教育网站域名东莞做网络推广的公司
  • 教做衣服的网站四川省人民政府官网
  • 集团门户产品seo基础优化
  • 怎么做直播网站的超管网推接单平台
  • 做网站绘制蓝图的步骤发外链的论坛
  • 安徽康东建设工程有限公司网站石家庄seo网站排名
  • 网站优化基础厦门seo优
  • 南宁网站建设公司哪里网游推广
  • 如何恢复wordpressseo网站推广免费
  • 2017网站建设有市场吗公司网站策划宣传
  • 湘潭网站建设 地址磐石网络app拉新推广平台渠道
  • 做网页制作怎么样什么是白帽seo
  • 中企动力做的网站容易SEO吗站点搜索
  • 人力社保网站建设的意义网络营销策划方案ppt模板
  • 教育云平台网站建设seo公司彼亿营销