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

搜狐快站做的手机网站泰安网络设计公司

搜狐快站做的手机网站,泰安网络设计公司,专门用来制作网页的软件是什么,建设通app下载安装文章目录 1.第N个泰波那契数1.1 题目2. 代码 2. 三步问题2.1 题目2.2 思路2.3 代码 3.leetcode 746.使用最小花费爬楼梯3.1 题目3.2 思路3.3 代码 4.leetcode 91.解码方法4.1 题目4.2 思路4.3 代码 1.第N个泰波那契数 1.1 题目 题目链接 2. 代码 // 代码1:时间…

文章目录

  • 1.第N个泰波那契数
    • 1.1 题目
    • 2. 代码
  • 2. 三步问题
    • 2.1 题目
    • 2.2 思路
    • 2.3 代码
  • 3.leetcode 746.使用最小花费爬楼梯
    • 3.1 题目
    • 3.2 思路
    • 3.3 代码
  • 4.leetcode 91.解码方法
    • 4.1 题目
    • 4.2 思路
    • 4.3 代码

1.第N个泰波那契数

1.1 题目

题目链接
在这里插入图片描述

2. 代码

// 代码1:时间复杂度O(N) 空间复杂度O(N)
class Solution {
public:int tribonacci(int n) {// 1. 判断边界条件if(n == 0) return 0;if(n == 1 || n == 2) return 1;// 2. 建立dp表vector<int> dp(n + 1);// 3. 初始化dp[0] = 0, dp[1] = dp[2] = 1;// 4. 填表 转移方程 dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3] for(int i = 3; i <= n; i++)dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];// 5. 返回值return dp[n];  }
};
// 代码2:时间复杂度 O(N) 空间复杂度O(1)
class Solution {
public:int tribonacci(int n) {// 1. 判断边界条件if(n == 0) return 0;if(n == 1 || n == 2) return 1;// 2. 建立dp表vector<int> dp(n + 1);// 3. 初始化int a = 0, d = 0, b = 1, c = 1;// 4. 填表 转移方程 d = c + a for(int i = 3; i <= n; i++){d = c + b + a;a = b; b = c; c = d;}// 5. 返回值return d;  }
};

2. 三步问题

2.1 题目

题目
在这里插入图片描述

2.2 思路

在这里插入图片描述

2.3 代码

class Solution {
public:int waysToStep(int n) {if (n == 1 || n == 2) return n;if(n == 3) return 4;vector<int> dp(n + 1);int MOD = 1e9 + 7;dp[1] = 1, dp[2] = 2, dp[3] = 4;for(int i = 4; i <= n; i++){dp[i] = ((dp[i - 1] + dp[i - 2]) % MOD + dp[i - 3]) % MOD;}return dp[n];}
};

3.leetcode 746.使用最小花费爬楼梯

3.1 题目

题目链接
在这里插入图片描述
在这里插入图片描述

3.2 思路

在这里插入图片描述
在这里插入图片描述

3.3 代码

// 解法1 从前向后填表
class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int n = cost.size();vector<int> dp(n+1);for(int i = 2; i <= n; i++)dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);return dp[n];}
};
// 解法二 从后向前填表
class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int n = cost.size();vector<int> dp(n);dp[n - 1] = cost[n - 1], dp[n - 2] = cost[n - 2];for(int i = n - 3; i >= 0; i--)dp[i] = cost[i] + min(dp[i + 1], dp[i + 2]);return min(dp[0], dp[1]);}
};

4.leetcode 91.解码方法

4.1 题目

题目链接
在这里插入图片描述
在这里插入图片描述

4.2 思路

在这里插入图片描述

4.3 代码

// 代码1 未优化初始化部分
class Solution {
public:int numDecodings(string s) {// 创建dp表// 初始化// 填表// 返回值int n = s.size();vector<int> dp(n);// 处理边界情况dp[0] = s[0] != '0';if(n == 1) return dp[0];if(s[0] != '0' && s[1] != '0') dp[1] += 1;int k1 = (s[0] - '0') * 10 + s[1] - '0'; // 前两个位置合起来表示的数//if(10 <= k1 <= 26) dp[1] += 1; // 这种写法在C++中是错误的if(k1 >=10 && k1 <= 26) dp[1] += 1;for(int i = 2; i < n; i++){if(s[i] != '0') dp[i] += dp[i - 1];int k2 = (s[i - 1] - '0') * 10 + s[i] - '0'; //if(10 <= k2 <= 26) dp[i] += dp[i - 2];if(k2 >= 10 && k2 <= 26) dp[i] += dp[i - 2];}return dp[n - 1];}
};
class Solution {
public:int numDecodings(string s) {// 优化int n = s.size();vector<int> dp(n + 1);// 处理边界情况dp[0] = 1; // 保证后面的填表是正确的dp[1] = s[1 - 1] != '0';for(int i = 2; i <= n; i++){if(s[i - 1] != '0') dp[i] += dp[i - 1];int k = (s[i - 1 - 1] - '0') * 10 + s[i - 1] - '0'; if(k >= 10 && k <= 26) dp[i] += dp[i - 2];}return dp[n];}
};
http://www.dtcms.com/wzjs/550552.html

相关文章:

  • 滨州做网站的公司怎样建立企业网站
  • 开县集团网站建设wordpress很难
  • 很色h做游戏网站猎头做单网站
  • 成都专业的网站建设制作公司哪家好高端网站建设公司有必要做吗
  • 网站建设公司计划书python做软件的网站
  • h5制作网站开发网站关键词的确定
  • 开发网站的流程细节安溪县住房和城乡建设网站
  • 网站优化有什么用aso网站
  • 厦门网站建设哪家强溧阳市建设工程质量监督站网站
  • 长沙模板网站建设网络营销的种类有哪些
  • 高端网站建设 深圳展厅装修设计
  • 网站建设好后有些什么资料中达世联网站建设
  • 做空比特币网站苏州网络营销推广多少钱
  • 莱芜网站建设哪家好建站服务的网络公司有哪些
  • 骏域网站建设跨境电商数据在哪个官网查
  • 免备案网站建设html5微网站模板
  • 网站 建设 外包wordpress模版seo
  • 做搜狗网站点幻灯网站源码
  • 邵阳建设局网站做钓鱼网站软件下载
  • 上海民政网站相关建设情况制作网站的基本步骤
  • 镇江做网站多少钱wordpress oss静态
  • 网站后台不能添加内容微信企业邮箱怎么注册
  • 微信推送在哪个网站做手机网站 排版
  • 无锡网站制作公司哪家好湖北城乡住房建设厅网站
  • 后端网站开发培训门户网站含义
  • 网上书店网站前端搜索条怎么做微信视频号推广方法
  • 直播间挂人气自助网站江西网络推广外包
  • 餐饮公司做网站好处关键词怎么选择技巧
  • 网站界面设计应该遵循的原则二级域名解析查询
  • 上海建设局网站 招聘网站标题长度