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

seo关于网站搜索招商网站平台

seo关于网站搜索,招商网站平台,全球域名,wordpress 纪念爱情问题描述与解题思路 题目链接 这个题的特殊之处就在于它子数组的选取方式,比如[1,2,3,4]这个数组 ,我们以3为子数组的起点,子数组的选取情况如下: 33 43 4 13 4 1 2 那么对于本题的解题方式,我们依然是要通过分类…

问题描述与解题思路

题目链接
在这里插入图片描述

这个题的特殊之处就在于它子数组的选取方式,比如[1,2,3,4]这个数组
,我们以3为子数组的起点,子数组的选取情况如下:

  • 3
  • 3 4
  • 3 4 1
  • 3 4 1 2

那么对于本题的解题方式,我们依然是要通过分类讨论,将这个环形数组的问题转化成我们普通最大子数组的问题来求和(就和打家劫舍2那道题目的思路是一样的)

看下面这张图,如果我们遍历到的子数组是我们的普通情况,那就按照我们之前处理过的模板来解决。如果我们遍历到的子数组是这种头一段尾一段的情况。那也很好办,因为它的补集——中间的这个数组就属于我们的普通情况,我们要求外面这个数组的最大和,只需要求中间这个数组的最小和就行了,求出来之后拿整个数组的和一减就能得到我们要的结果。
在这里插入图片描述

确定本题的状态表示

通过上面的分析,我们已经讲一个环形子数组和问题转化成了一个普通的子数组和问题,然后我们后面去求f[i]的时候就不用考虑那种分布在两头的子树组了(比如 对于[0 1 2 3 ]求 f[1],你不用考虑以1为尾,以3为首的子数组,因为这种情况自有我们的g数组来去处理,你在进行动态规划填充的时候仍然只需要老老实实的做你的普通数组问题即可)
在这里插入图片描述

确定本题的状态转移方程

在这里插入图片描述

初始化

返回值

整体思路就是找到f数组里面的最大值。以及g数组里面的最小值,比较出max(f_max,sum - g_min),但是这里还需要考虑一种特殊情况,就是你数组里面的数全是负数。
在这里插入图片描述

代码实现

int maxSubarraySumCircular(vector<int>& nums)
{// 1. 创建 dp 表// 2. 初始化// 3. 填表// 4. 返回结果int n = nums.size();vector<int> f(n + 1), g(n + 1);int fmax = INT_MIN, gmin = INT_MAX, sum = 0;for(int i = 1; i <= n; i++){int x = nums[i - 1];f[i] = max(x, x + f[i - 1]);fmax = max(fmax, f[i]);g[i] = min(x, x + g[i - 1]);gmin = min(gmin, g[i]);sum += x;}return sum == gmin ? fmax : max(fmax, sum - gmin);
}
http://www.dtcms.com/a/429901.html

相关文章:

  • 怎么注册网站啊网站进入沙盒的表现
  • 网站内页一般多久收录国外优秀网站建设
  • app制作网站制作完企业手机版网站
  • 自己做外贸购物网站厦门优秀的网站设计
  • 教育类网站模板泰安互联网公司
  • 网站设计要学什么网站里的横幅怎么做
  • 西宁做网站公司电话网站开发app小程序
  • 有什么设计网站推荐怎么优化网站程序
  • 苏州企业网站制作设计公司海外网站cdn加速下载
  • 导航网站系统养生网站模板下载
  • 网站流量怎么赚钱asp网站建设参考文献
  • 果合gohe网站建设推荐几个好的seo网站程序模板
  • 网站系统商城互联网平台服务
  • 陕西省城乡和住房建设厅网站wordpress 微语功能
  • 石家庄的电商网站建设wordpress 上线到centos
  • 以前的网站忘了怎么办啊网站是如何做的好
  • 《php网站开发》电子课件wordpress最大上传大小怎么改
  • 专业公司网站 南通企业网站建立哪
  • 给公司做网站多钱行业门户网站大全
  • 免费空间+网站空间+虚拟主机网站运营策划ppt
  • 音乐网站建设教程视频网站建设流量入口
  • 建设部网站查询造价师证件吴江网站建设
  • 做网站时图片要切片有什么作用logo商标设计网站
  • 网站建设现况分析广州网站设计推荐柚米
  • 网站建设作为网络优化论文
  • 建企业网站教程网站解析需要多久生效
  • 做网站要求电脑配置德州哪里做网站
  • jsp网站开发之html入门知识国外电商网站
  • 伊犁建设网站公司宁波网站建设报价
  • 做网站 做什么网站好北京网站建