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

做电影网站如何盈利wordpress5.1更新

做电影网站如何盈利,wordpress5.1更新,oa软件是什么,网站建设哪里好目录 一、做题心得 二、动规五步走 三、题目与题解 题目一#xff1a;509. 斐波那契数 题目链接 题解1#xff1a;记忆性递归 题解2#xff1a;动态规划 题目二#xff1a;70. 爬楼梯 题目链接 题解#xff1a;动态规划 题目三#xff1a;746. 使用最小花费爬楼…目录 一、做题心得 二、动规五步走 三、题目与题解 题目一509. 斐波那契数 题目链接 题解1记忆性递归 题解2动态规划 题目二70. 爬楼梯  题目链接 题解动态规划 题目三746. 使用最小花费爬楼梯 题目链接 题解动态规划 三、小结 一、做题心得 今天开始动态规划章节的第一部分。打卡的题目都比较基础也比较经典刚好作为入门。在最后一道题上会详细讲讲代码随想录中卡哥的动规五步走的确是很好的做题思路将代码的每一步都具象化。 话不多说直接开始今天的内容。 二、动规五步走 代码随想录中解决动态规划的五个步骤 确定dp数组dp table以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 对于简单的题可以直接解答复杂一点的按照这五步走可以使思路更加清晰。 三、题目与题解 题目一509. 斐波那契数 题目链接 509. 斐波那契数 - 力扣LeetCode 斐波那契数 通常用 F(n) 表示形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始后面的每一项数字都是前面两项数字的和。也就是 F(0) 0F(1)  1 F(n) F(n - 1) F(n - 2)其中 n 1给定 n 请计算 F(n) 。 示例 1 输入n 2 输出1 解释F(2) F(1) F(0) 1 0 1示例 2 输入n 3 输出2 解释F(3) F(2) F(1) 1 1 2示例 3 输入n 4 输出3 解释F(4) F(3) F(2) 2 1 3提示 0 n 30 题解1记忆性递归 为什么不直接用递归呢很显然直接递归的时间复杂度太高为了解决这个问题我们采用数组存储每个已经出现的数值这样就不需要每次都递归重新计算。 class Solution { public:int fib(int n) {int dp[32]; //题目中 n 30, 可以直接一般数组如果是处理任意大小的n一般采用vector数组dp[0] 0, dp[1] 1;for (int i 2; i n; i) {dp[i] dp[i - 1] dp[i - 2];}return dp[n];} }; 题解2动态规划 思路由于 dp 列表第 i 项只与第 i−1 和第 i−2 项有关因此只需要选取三个整形变量 sum, dp[0], dp[1]分别代表这三个位置注意三者的初始化利用辅助变量 sum 使 dp[0], dp[1] 两数字交替前进即可。 代码如下 class Solution { public:int fib(int n) {if (n 1) return n; //n 1时int dp[2];dp[0] 0;dp[1] 1;for (int i 2; i n; i) {int sum dp[0] dp[1]; //sum作为中间辅助变量记录第 i 项dp[0] dp[1]; //dp[0]记录 i - 2项dp[1] sum; //dp[1]记录 i - 1项 每次循环完成时记录第 i 项}return dp[1]; //n 2时} }; 题目二70. 爬楼梯  题目链接 70. 爬楼梯 - 力扣LeetCode 假设你正在爬楼梯。需要 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 阶提示 1 n 45 题解动态规划 其实这道题和斐波那契数列那道题思路是一样的只是值的初始化不同这里我只给出动态规划的解法。  class Solution { public:int climbStairs(int n) {if (n 2) return n; //n 2时vectorint dp(n1);dp[1] 1;dp[2] 2;for (int i 3; i n 1; i) { int sum dp[1] dp[2];dp[1] dp[2];dp[2] sum;}return dp[2]; //n 3时} }; 题目三746. 使用最小花费爬楼梯 题目链接 746. 使用最小花费爬楼梯 - 力扣LeetCode 给你一个整数数组 cost 其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 示例 1 输入cost [10,15,20] 输出15 解释你将从下标为 1 的台阶开始。 - 支付 15 向上爬两个台阶到达楼梯顶部。 总花费为 15 。示例 2 输入cost [1,100,1,1,1,100,1,1,100,1] 输出6 解释你将从下标为 0 的台阶开始。 - 支付 1 向上爬两个台阶到达下标为 2 的台阶。 - 支付 1 向上爬两个台阶到达下标为 4 的台阶。 - 支付 1 向上爬两个台阶到达下标为 6 的台阶。 - 支付 1 向上爬一个台阶到达下标为 7 的台阶。 - 支付 1 向上爬两个台阶到达下标为 9 的台阶。 - 支付 1 向上爬一个台阶到达楼梯顶部。 总花费为 6 。提示 2 cost.length 10000 cost[i] 999 题解动态规划 今天主要想说的就是这道题。 这里我们按照动规五步走 1.定义dp[i]数组--注意dp[i]表示到达第i台阶所花费的最少费用为dp[i]     2.确定递推公式 得到dp[i]有两种方式前一个台阶处爬一步前两个台阶处爬两步 (1) dp[i - 1] 跳到 dp[i] 需要花费 dp[i - 1] cost[i - 1]; (2) dp[i - 2] 跳到 dp[i] 需要花费 dp[i - 2] cost[i - 2]; 选择花费最小的故递推公式dp[i] min(dp[i - 1] cost[i - 1], dp[i - 2] cost[i - 2]) 3.dp数组初始化题目要求可以从下标为 0 或下标为 1 的台阶开始爬楼梯即dp[0] 0, dp[1] 0 4.确定遍历顺序楼梯台阶这一类问题一般都是直接从前往后遍历 5.举例推导dp数组列举几个数看看满不满足 代码如下 class Solution { public:int minCostClimbingStairs(vectorint cost) {int n cost.size(); //楼梯顶部的位置最后一个阶梯之外vectorint dp(n 1); dp[0] 0;dp[1] 0;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];} }; 三、小结 今天的打卡到此也就结束了动态规划的旅途还很漫长后边也会继续努力。
http://www.w-s-a.com/news/740019/

相关文章:

  • 国家城乡住房和建设部网站西安私人网站
  • 天津高端网站定制seo实战教程
  • 网站文章怎么做才能被快速收录网站备案核验系统
  • 子网站建设方案l建设银行网站
  • 免费看舆情网站网站备案用户名忘了怎么办
  • 地方门户网站的分类网站的方案
  • 沧州哪里做网站网站的建设是什么
  • 设计公司海报秦皇岛seo网站推广
  • 网站导航规划wordpress做漫画
  • jsp体育用品网站建设wordpress 10万篇文章
  • 沈阳做微信和网站的公司网站在线支付接口
  • 重庆整合网络营销百度seo快速提升排名
  • 设计师网站外网百度分析工具
  • 旅游网站建设技术解决方案wordpress主题安装后找不到
  • 网站图片文字排版错误管理系统界面设计
  • 网站建设 台州广州惠科互联网技术有限公司
  • 网站页面尺寸大小四川鸿业建设集团网站
  • 做女朋友的网站局网站建设方案word
  • 做阿里国际网站会有成效吗科技网站有哪些
  • 高端公司网站建设北京两学一做网站
  • 黄埔网站建设设计wordpress 文件夹改名
  • 怎么什么软件可以吧做网站最火的二十个电商app
  • wordpress theme sage网站seo优化加推广
  • 建设一个大型电影网站公司网站建设工作总结
  • 传奇网站一般怎么做的宇泽佛山网站建设
  • google网站入口电商运营十大基础知识
  • 建设公司网站的细节中国建设网网站
  • 重庆美邦建网站宝安网页设计
  • 建网站的地址十堰做网站
  • 怎么评判一个网站做的好与坏专做情侣装网站