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

哈尔滨app网站开发广州越秀番禺最新通告

哈尔滨app网站开发,广州越秀番禺最新通告,百度指数 多少流量 网站名,外包什么意思文章目录 1. 每日一言2. 题目2.1 解题思路2.1.1 递归2.1.2 记忆化搜索2.1.3 动态规划2.1.4 动态规划空间优化 2.2 代码2.2.1 递归2.2.2 记忆化搜索2.2.3 动态规划2.2.4 动态规划空间优化 3. 结语 1. 每日一言 Happy life lies in a peaceful mind. 幸福的生活存在于心绪的宁静… 文章目录 1. 每日一言2. 题目2.1 解题思路2.1.1 递归2.1.2 记忆化搜索2.1.3 动态规划2.1.4 动态规划空间优化 2.2 代码2.2.1 递归2.2.2 记忆化搜索2.2.3 动态规划2.2.4 动态规划空间优化 3. 结语 1. 每日一言 Happy life lies in a peaceful mind. 幸福的生活存在于心绪的宁静之中。 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 阶 提示 1 n 45 2.1 解题思路 2.1.1 递归 首先函数判断如果 n 小于等于 2则直接返回 n。因为在楼梯阶数小于等于 2 的情况下只有一种方式爬到顶部即分别走一步或者直接跨两步。 对于大于 2 的情况函数采用递归的方式进行计算。爬到第 n 阶楼梯的方式数量等于爬到第 n-1 阶和第 n-2 阶的方式数量之和。这是因为爬到第 n 阶楼梯只有两种方式一种是从第 n-1 阶再爬一阶另一种是从第 n-2 阶再跨两阶。 最后将计算得到的方式数量 sum 返回。 2.1.2 记忆化搜索 首先定义一个全局数组 men大小为 46因为题目中规定楼梯数不超过 45。这个数组用来保存已经计算过的楼梯阶数对应的爬楼梯方式数量避免重复计算。接下来定义一个递归函数 climb(int n)用来计算爬到第 n 阶楼梯的方式数量。如果 n 小于等于 2则直接返回 n表示只有一种或两种方式爬到顶部。如果 men[n] 不为 -1说明之前已经计算过爬到第 n 阶楼梯的方式数量直接返回 men[n]。如果 men[n] 为 -1说明还没有计算过爬到第 n 阶楼梯的方式数量此时调用递归函数 climb(n-1) climb(n-2) 来计算并将结果保存在 men[n] 中然后返回该结果。最后在 climbStairs 函数中将 men 数组初始化为 -1并调用 climb 函数来求解爬楼梯问题。 2.1.3 动态规划 首先定义一个长度为 46 的整型数组 climb用来存储爬到每个楼梯阶数的方式数量。数组初始化为 [1, 2]表示爬到第一阶和第二阶楼梯的方式数量分别为 1 和 2。接下来使用一个循环从第三阶楼梯开始计算爬楼梯的方式数量。对于第 i 阶楼梯爬到这一阶的方式数量等于爬到第 i-1 阶和第 i-2 阶的方式数量之和因为只有两种方式可以到达第 i 阶楼梯要么是从第 i-1 阶跨一步要么是从第 i-2 阶跨两步。最后返回数组 climb 中第 n-1 个元素即爬到第 n 阶楼梯的方式数量。 2.1.4 动态规划空间优化 如果输入的楼梯阶数 n 小于等于 2那么直接返回 n因为在这种情况下只有一阶或者两阶楼梯爬到顶部的方式数量分别为 1 和 2。对于大于 2 的情况定义三个变量 a、b 和 c分别表示爬到第 n-2、第 n-1 和第 n 阶楼梯的方式数量。初始时a 被赋值为 1表示爬到第一阶楼梯的方式数量b 被赋值为 2表示爬到第二阶楼梯的方式数量。使用一个循环来计算爬到第 n 阶楼梯的方式数量。循环从第 3 阶楼梯开始依次计算爬到每一阶楼梯的方式数量直到计算到第 n 阶为止。在循环中更新 c 的值为 a b然后将 b 的值赋给 a将 c 的值赋给 b以便继续下一轮循环。循环结束后c 中存储的就是爬到第 n 阶楼梯的方式数量。最后返回 c。 2.2 代码 2.2.1 递归 int climbStairs(int n) {if(2 n) {return n;}int sum 0;sum climbStairs(n-1) climbStairs(n-2);return sum; }2.2.2 记忆化搜索 int men[46]; int climb(int n) {if(n 2) {return n;}if(men[n] ! -1) {return men[n];}return men[n] climb(n-1) climb(n-2);; } int climbStairs(int n) {for(int i 0; i 46; i) {men[i] -1;}return climb(n); }2.2.3 动态规划 int climbStairs(int n) {int climb[46];climb[0] 1;climb[1] 2;for(int i 2; i n; i) {climb[i] climb[i-1] climb[i-2];}return climb[n-1]; }2.2.4 动态规划空间优化 int climbStairs(int n) {if(n 2) {return n;} else {int a 1;int b 2;int c 0;while(n 2) {c a b;a b;b c;--n;}return c;} }3. 结语 请给自己些耐心不要急于求成。 山外青山楼外楼莫把百尺当尽头。 保持空杯心态加油努力吧 都看到这里啦真棒(*^▽^*) 可以给作者一个免费的赞赞吗这将会鼓励我继续创作谢谢大家 编程小白写作如有纰漏或错误欢迎指正
http://www.hkea.cn/news/14336776/

相关文章:

  • 我需要网站中卫网红美食打卡地
  • 成都网站制作哪家好网站建设案例 优帮云
  • 专门做护理PDCA的网站最新个人注册公司流程
  • 有哪些做西点及烘焙的网站网站皮肤是怎么做的
  • 网站后来功能重庆万州网站建设报价
  • 做网站和自媒体哪个好公众号wordpress
  • 做网站 excel网站建设最好的公司排名
  • 对门户网站建设情况的报告黄村网站建设公司
  • 建设公司门户网站南宁网站定制团队
  • 手机网站开发服务商惠州网站制作公司哪家好
  • 网站顶部展出的大幅广告代理注册公司需要什么条件
  • 工厂网站建设网站开发是自己开发还是外包的
  • 互联网 网站建设价格流程图制作网页
  • 做网站需要什么材料域名过期了被别人拿去做违法
  • 网站建设上海网站建设义乌百度网站制作
  • 做一个营销型网站多少钱清河做网站哪家便宜
  • 建设淘宝网站的人员组织中国纪检监察报地址
  • 建设银行网站账号怎么注销网站展示重点
  • 做彩票的网站网站后台上传用户界面不显示
  • 中心网站建设方法抖音代运营图片
  • 网站首页被k怎么恢复建设招标网 手机官方网站
  • 青少年宫网站开发wordpress数据库删不掉
  • asp网站默认后台找网站的方法
  • 台山网站建设做任务反佣金的网站
  • 个人建网站有什么好处wordpress 免费字体
  • 网站建设区别济南软件优化网站
  • 如何做公证网站网页发布时间建材网站建设案例
  • 浦江网站建设公司北京学校线上教学
  • 手机端网站html好看的单页模板南宁网站开发gxjzdrj
  • 软件开发培训机构去哪个学校深圳湛江网站制作优化