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

网站 当前时间 代码如何成为室内设计师

网站 当前时间 代码,如何成为室内设计师,坑梓网站建设,工程网站模板制作教程👨‍🏫 题目地址 无后效性 为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之,动态规划对状态空间的遍历构成一张有向无环图,遍…

👨‍🏫 题目地址

在这里插入图片描述


无后效性

为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之,动态规划对状态空间的遍历构成一张有向无环图,遍历就是该有向无环图的一个拓扑序。有向无环图中的节点对应问题中的「状态」,图中的边则对应状态之间的「转移」,转移的选取就是动态规划中的「决策」。

关键 1:理解题意

题目要我们找出和最大的连续子数组的值是多少,「连续」是关键字,连续很重要,不是子序列。

题目只要求返回结果,不要求得到最大的连续子数组是哪一个。这样的问题通常可以使用「动态规划」解决。

关键 2:如何定义子问题(如何定义状态)

设计状态思路:把不确定的因素确定下来,进而把子问题定义清楚,把子问题定义得简单。动态规划的思想通过解决了一个一个简单的问题,进而把简单的问题的解组成了复杂的问题的解。

🍻 DP

public class Solution {public int maxSubArray(int[] nums) {int n = nums.length;int[] f = new int[n];// 记录nums[i]结尾的最大连续数组和f[0] = nums[0];int ans = f[0];for (int i = 1; i < n; i++){f[i] = Math.max(f[i - 1] + nums[i], nums[i]);ans = Math.max(ans, f[i]);}return ans;}
}

🍻 DP优化空间

public class Solution {public int maxSubArray(int[] nums) {int pre = 0;int res = nums[0];for (int num : nums) {pre = Math.max(pre + num, num);res = Math.max(res, pre);}return res;}
}

🍻 分治

public class Solution {public int maxSubArray(int[] nums) {int len = nums.length;if (len == 0) {return 0;}return maxSubArraySum(nums, 0, len - 1);}private int maxCrossingSum(int[] nums, int left, int mid, int right) {// 一定会包含 nums[mid] 这个元素int sum = 0;int leftSum = Integer.MIN_VALUE;// 左半边包含 nums[mid] 元素,最多可以到什么地方// 走到最边界,看看最值是什么// 计算以 mid 结尾的最大的子数组的和for (int i = mid; i >= left; i--) {sum += nums[i];if (sum > leftSum) {leftSum = sum;}}sum = 0;int rightSum = Integer.MIN_VALUE;// 右半边不包含 nums[mid] 元素,最多可以到什么地方// 计算以 mid+1 开始的最大的子数组的和for (int i = mid + 1; i <= right; i++) {sum += nums[i];if (sum > rightSum) {rightSum = sum;}}return leftSum + rightSum;}private int maxSubArraySum(int[] nums, int left, int right) {if (left == right) {return nums[left];}int mid = left + (right - left) / 2;return max3(maxSubArraySum(nums, left, mid),maxSubArraySum(nums, mid + 1, right),maxCrossingSum(nums, left, mid, right));}private int max3(int num1, int num2, int num3) {return Math.max(num1, Math.max(num2, num3));}
}

👨‍🏫 参考地址

http://www.yayakq.cn/news/752727/

相关文章:

  • 哈尔滨公司网站团队合肥网站建设优化
  • 深圳语种网站建设网上哪个网站做的系统好用吗
  • 温州网站建设推广专家黑山网站制作公司
  • 东莞市建设规划局网站广西桂林自驾游攻略
  • 最新网站建设常见问题企业网站空间域名
  • 可以用足球做的游戏视频网站营销方式
  • 北京网站设计与制作公司合肥电脑网站建站
  • 西部数码创建php网站广州网站定制多少钱
  • 做洗衣液的企业网站企业网站开发创意
  • 做网店好还是网站好软件开发的自学教程
  • 买一个成品网站多少钱如皋建设局网站
  • 怎么盗用网站网站关键词热度
  • 北京网站备案查询品牌网站和优化网站
  • 怎么介绍自己的网页网站优化策划方案
  • 网站忘记后台地址怎么做推广赚佣金
  • 兰州建网站的南昌网站建设700起
  • 石家庄网站系统开发品牌营销的概念
  • 自己代码做网站网站建设 上传和下载功能
  • 如何建设网站站点扬州新闻头条最新消息
  • 网站建设与管理好吗WordPress连接符
  • 用ps做网站页面宁德市城乡住房建设厅网站
  • 网站开发外包价格人和机械网站建设
  • 做静态头像网站在哪给人做网站
  • 招聘网站如何做薪酬报告游戏网站平台怎么做
  • 网站被跳转公告怎么写中小企业网站建设多少钱
  • 云服务器可以做网站html代码按钮
  • 网站费用估算电影网站内页
  • 枣阳网站建设吧镇江牛吧企业网站建设与推广公司
  • 济南网站建站socks5免费代理地址
  • 赤峰做网站开发wordpress小工具滑至顶部