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

国家能源局网站线路建设诸暨城乡与建设局网站

国家能源局网站线路建设,诸暨城乡与建设局网站,杭州专业做网站,万网域名管理登录【问题描述】[中等] 【解答思路】 1. 动态规划思路一 自上而下 第 1 步#xff1a;设计状态 f[i][j] 表示从三角形顶部走到位置 (i,j) 的最小路径和 位置(i,j) 指的是三角形中第 i 行第 j 列#xff08;均从 00 开始编号#xff09;的位置 第 2 步#xff1a;状态转移方程…【问题描述】[中等] 【解答思路】 1. 动态规划思路一 自上而下 第 1 步设计状态 f[i][j] 表示从三角形顶部走到位置 (i,j) 的最小路径和 位置(i,j) 指的是三角形中第 i 行第 j 列均从 00 开始编号的位置 第 2 步状态转移方程 第 3 步考虑初始化 f[0][0]c[0][0] 第 4 步考虑输出 f[n−1][0] 到 f[n-1][n-1] 中的最大值其中 n 是三角形的行数 第 5 步考虑是否可以状态压缩 是 时间复杂度O(N^2) 空间复杂度O(N^2) class Solution {public int minimumTotal(ListListInteger triangle) {int n triangle.size();int[][] f new int[n][n];f[0][0] triangle.get(0).get(0);for (int i 1; i n; i) {f[i][0] f[i - 1][0] triangle.get(i).get(0);for (int j 1; j i; j) {f[i][j] Math.min(f[i - 1][j - 1], f[i - 1][j]) triangle.get(i).get(j);}f[i][i] f[i - 1][i - 1] triangle.get(i).get(i);}int minTotal f[n - 1][0];for (int i 1; i n; i) {minTotal Math.min(minTotal, f[n - 1][i]);}return minTotal;} } 动态规划 空间优化 时间复杂度O(N^2) 空间复杂度O(2N) class Solution {public int minimumTotal(ListListInteger triangle) {int n triangle.size();int[][] f new int[2][n];f[0][0] triangle.get(0).get(0);for (int i 1; i n; i) {int curr i % 2;int prev 1 - curr;f[curr][0] f[prev][0] triangle.get(i).get(0);for (int j 1; j i; j) {f[curr][j] Math.min(f[prev][j - 1], f[prev][j]) triangle.get(i).get(j);}f[curr][i] f[prev][i - 1] triangle.get(i).get(i);}int minTotal f[(n - 1) % 2][0];for (int i 1; i n; i) {minTotal Math.min(minTotal, f[(n - 1) % 2][i]);}return minTotal;} } 时间复杂度O(N^2) 空间复杂度O(N) class Solution {public int minimumTotal(ListListInteger triangle) {int n triangle.size();int[] f new int[n];f[0] triangle.get(0).get(0);for (int i 1; i n; i) {f[i] f[i - 1] triangle.get(i).get(i);for (int j i - 1; j 0; --j) {f[j] Math.min(f[j - 1], f[j]) triangle.get(i).get(j);}f[0] triangle.get(i).get(0);}int minTotal f[0];for (int i 1; i n; i) {minTotal Math.min(minTotal, f[i]);}return minTotal;} } 2. 动态规划 自底向上 考虑边界减少 第 1 步设计状态 dp[i][j] 表示从点 (i, j)(i,j) 到底边的最小路径和。 第 2 步状态转移方程 dp[i][j]min(dp[i1][j],dp[i1][j1])triangle[i][j] 第 3 步考虑初始化 dp[i][j] 均为’0’ 第 4 步考虑输出 dp[0][0] 第 5 步考虑是否可以状态压缩 是 时间复杂度O(N^2) 空间复杂度O(N^2) class Solution {public int minimumTotal(ListListInteger triangle) {int n triangle.size();// dp[i][j] 表示从点 (i, j) 到底边的最小路径和。int[][] dp new int[n 1][n 1];// 从三角形的最后一行开始递推。for (int i n - 1; i 0; i--) {for (int j 0; j i; j) {dp[i][j] Math.min(dp[i 1][j], dp[i 1][j 1]) triangle.get(i).get(j);}}return dp[0][0];} } ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200714110356304.png)时间复杂度O(N^2) 空间复杂度O(N) class Solution {public int minimumTotal(ListListInteger triangle) {int n triangle.size();int[] dp new int[n 1];for (int i n - 1; i 0; i--) {for (int j 0; j i; j) {dp[j] Math.min(dp[j], dp[j 1]) triangle.get(i).get(j);}}return dp[0];} } 3. 递归 暴力搜索会有大量的重复计算导致 超时因此在 结合记忆化数组进行优化。 class Solution {public int minimumTotal(ListListInteger triangle) {return dfs(triangle, 0, 0);}private int dfs(ListListInteger triangle, int i, int j) {if (i triangle.size()) {return 0;}return Math.min(dfs(triangle, i 1, j), dfs(triangle, i 1, j 1)) triangle.get(i).get(j);} } 递归 记忆化 时间复杂度O(N^2) 空间复杂度O(N^2) class Solution {Integer[][] memo;public int minimumTotal(ListListInteger triangle) {memo new Integer[triangle.size()][triangle.size()];return dfs(triangle, 0, 0);}private int dfs(ListListInteger triangle, int i, int j) {if (i triangle.size()) {return 0;}if (memo[i][j] ! null) {return memo[i][j];}return memo[i][j] Math.min(dfs(triangle, i 1, j), dfs(triangle, i 1, j 1)) triangle.get(i).get(j);} } 【总结】 1.动态规划流程 第 1 步设计状态 第 2 步状态转移方程 第 3 步考虑初始化 第 4 步考虑输出 第 5 步考虑是否可以状态压缩 2.自下而上 自上而下均可以实现 哪个顺手使用哪个 哪个边界清晰用哪个 转载链接https://leetcode-cn.com/problems/triangle/solution/san-jiao-xing-zui-xiao-lu-jing-he-by-leetcode-solu/ 转载链接https://leetcode-cn.com/problems/triangle/solution/di-gui-ji-yi-hua-dp-bi-xu-miao-dong-by-sweetiee/
http://www.zqtcl.cn/news/640063/

相关文章:

  • 做外贸收费的服装网站武钢建设公司网站
  • wordpress 全文搜索企业网站优化策略
  • 犀牛云做网站如何网站备案需要什么东西
  • wordpress星座网站建设与优化计入什么科莫
  • 外贸网站优化方案绵阳网站建设怎么做
  • 黑龙江省网站建设电商的运营推广
  • 惠州建站模板wordpress更换主题帖子封面不显示
  • 网站开发为什么不用cgi了营销型网站案例
  • 网站怎么做飘窗电子商城网站建设的实训内容
  • 怎样申请建网站做it公司网站
  • 一个网站费用给人做ppt的网站吗
  • 免费简历在线制作网站杭州市网站建设公司
  • 用家庭宽带做网站 没有8080端口可以吗汕头教育学会网站建设
  • 南通seo公司网站广东涂料网站建设
  • 杭州哪家公司可以做网站苏州公司官网制作
  • 建一个网站大约多少钱做社区网站怎么做
  • 安阳建设网站企业单位网站建设内容需要什么
  • 网站如何被谷歌收录wordpress搭建企业官网
  • 网站 服务报价网站建设需要具备
  • 鹿泉企业网站建设wordpress使用支付宝当面付
  • 手机网站重要性彩票网站上的走势图是怎么做的
  • 牛牛襄阳网站建设做电商网站需要会些什么问题
  • 唯一做性视频的网站在线股票交易网站开发
  • 做二手的网站有哪些湛江小程序公司
  • 定制型网站建设wordpress md风格
  • 网站建设与推广的实训报告万网会员中心登录入口
  • 做网站如何推销电子商务类型的网站
  • 部署个人网站经典广告推广词
  • 海口模板建站定制南宁品牌网站设计公司
  • 江西网站设计方案网站通栏广告代码