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

石家庄网络建站宁波seo快速排名

石家庄网络建站,宁波seo快速排名,物流公司网页设计,游戏工作室网络组建方案目录 动态规划基础斐波那契数爬楼梯使用最小花费爬楼梯 LeetCode 509. 斐波那契数 LeetCode 70. 爬楼梯 LeetCode 746. 使用最小花费爬楼梯 动态规划基础 Dynamic Programming (DP) 如果某一问题有很多重叠子问题,使用动态规划是最有效的。 动态规划中每一个状态…

目录

  • 动态规划基础
  • 斐波那契数
  • 爬楼梯
  • 使用最小花费爬楼梯

LeetCode 509. 斐波那契数
LeetCode 70. 爬楼梯
LeetCode 746. 使用最小花费爬楼梯

动态规划基础

Dynamic Programming (DP) 如果某一问题有很多重叠子问题,使用动态规划是最有效的。

动态规划中每一个状态一定是由上一个状态推导出来的,区分于贪心,贪心是从局部直接选最优的。

  • 确定dp数组(dp table)以及下标的含义
  • 确定递推公式
  • dp数组如何初始化
  • 确定遍历顺序
  • 举例推导dp数组

找问题的最好方式就是把dp数组打印出来,看看究竟是不是按照自己思路推导的!

写代码之前一定要把状态转移在dp数组的上具体情况模拟一遍,心中有数,确定最后推出的是想要的结果。

斐波那契数

class Solution {public int fib(int n) {// dp[i] : 第i 个数的斐波那契数值// 递推公式:dp[i] = dp[i - 1] + dp[i - 2]// 初始化: dp[0] = 0;//         dp[1] = 1;// 遍历顺序: 从前到后// 举例推导 dp 数组:  0 1 1 2 3 5 8 13 21 34 55if (n <= 1) return n;int[] dp = new int[n + 1];dp[0] = 0;dp[1] = 1;for (int i = 2; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];}
}

也可以只维护两个元素的数组,for 循环里交换一下 :

int sum = dp[0] + dp[1];
dp[0] = dp[1];
dp[1] = sum;

递归 时间复杂度 O ( 2 n ) O(2^n) O(2n)

class Solution {public int fib(int n) {if (n <= 1) return n;return fib(n - 1) + fib(n - 2);}
}

爬楼梯

和斐波那契数列一样,dp数组每个值代表爬到第i层楼梯有 dp[i]种方法。

class Solution {public int climbStairs(int n) {// dp[i] 爬到第i层楼梯,有 dp[i]种方法// dp[i] = dp[i - 1] + dp[i - 2] // dp[1] = 1,dp[2] = 2 从i = 3 开始递推// 遍历顺序: 从前往后// 举例推导: 1 2 3 5 8if (n <= 2) return n;int[] dp = new int[3];dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {int sum = dp[1] + dp[2];dp[1] = dp[2];dp[2] = sum;}return dp[2];}
}

使用最小花费爬楼梯

class Solution {public int minCostClimbingStairs(int[] cost) {// dp[i] 到达第i台阶所花费的最小体力 // dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);// dp[0] = 0; dp[1] = 0;// 前序// 举例int[] dp = new int[cost.length + 1];dp[0] = 0;dp[1] = 0;for (int i = 2; i <= cost.length; i++) {dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);}return dp[cost.length];}
}
http://www.yayakq.cn/news/229195/

相关文章:

  • 搏彩网站开发建设高端网站建设设计
  • 上海网站空间服务器焦作黄河交通学院
  • 投资20万做网站好吗手机网站模板psd
  • 西安网站建设管理网站域名多少钱一年
  • 石家庄 网站建站网页设计基础考试题目
  • 做ppt常用的网站深圳观澜网站建设
  • 做微网站迅宇科技宝丰县建设局网站
  • 国外网站建设接单个人网站设计论文道客巴巴
  • 物流门户网站开发游戏代理怎么找平台
  • 法律咨询免费平台哈尔滨关键词优化排名
  • 建设银行不良资产处置网站兰州市住房保障和城乡建设局网站
  • 东莞 外贸网站建设网站备案查询 美橙网
  • 网站建设代码走查qq空间注册申请
  • 做一个购物商城网站多少钱广州比较好的广告公司有哪些
  • 衡水网站建设知识wordpress密码重置
  • 如何推广一个网站常见的网站建设技术有哪些
  • 上海做网站开发的公司泰安招聘信息58同城
  • html5手机app网站模板建设网站需要备案吗
  • 如何让百度新闻收录网站文章建设局是干什么的单位
  • 成都哪里有做网站的公司火山视窗软件开发平台
  • 做数模必逛的网站广州网站建设解决方案
  • 佛山建设外贸网站公司怎样做视频网站的外链
  • 网站备案 教程网络类黄页
  • 东莞非凡网站建设什么是网站外部链接建设
  • 建设网站有什么原则昔阳做网站公司
  • 网站什么时候恢复彩色html5网页开发工具
  • 肇庆建设局网站怎样建立网站快捷方式
  • 珠海企业网站建设做最精彩绳艺网站
  • 美容行业手机网站模版网站注销备案表下载
  • 建网站服务做网站 前途