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

做守望先锋h的网站高手优化网站

做守望先锋h的网站,高手优化网站,咸阳做企业网站,psdw做网站思路:DP 其实和昨天做的哪个重复数组差不多,按顺序来说先做这个题目其实更好。 这里需要分两种情况:第一个,就是数组不越界的时候,这个时候最大子数组和就是leetcode 53题的题解。 如果说越界了,我们还需…

思路:DP

其实和昨天做的哪个重复数组差不多,按顺序来说先做这个题目其实更好。

这里需要分两种情况:第一个,就是数组不越界的时候,这个时候最大子数组和就是leetcode 53题的题解。

如果说越界了,我们还需要注意一点,就是如果你想用链表的方式再加上一个数组,这是不可取的,这里的题目要求直接给你禁止这种耍小聪明的方法了。(同余下标的两个数不能同时取)

所以我们只能想别的办法这里有一点,就是和最小子数组和相联系的一点,就是当我们求出来最小子数组和的时候,剩下的元素不就是最大子数组和了吗?(sum-最小子数组和,sum为总的数组和)你可能会说,啊,这个不是连续的吗?这就是一个技巧问题了,我们可以认为是连续的,因为题目中不就说了吗,是循环的,所以我们越界的时候其实本质上也是连续的。

这样就能解决问题了,最大值就是max(maxs,sum-mins)。

但是还有一种特殊情况,就是当sum==mins也就是最小子数组和就是这个数组本身的和,这里就直接认为是maxs了,为什么?你想,如果是这样的话,那么是不是就不存在最小子数组和了吗?只剩下了最大子数组和了?sum-mins会是0,但是maxs不一定>0,所以我们需要特殊关照一下。

class Solution {
public:int maxSubarraySumCircular(vector<int>& nums) {int n=nums.size();int max_dp=0;int min_dp=0;int maxs=INT_MIN;int mins=INT_MAX;int sum=0;for(int i=0;i<n;i++){max_dp=max(max_dp,0)+nums[i];min_dp=min(min_dp,0)+nums[i];maxs=max(maxs,max_dp);mins=min(min_dp,mins);sum+=nums[i];}return sum==mins?maxs:max(sum-mins,maxs);}
};

http://www.khdw.cn/news/14792.html

相关文章:

  • apache 本地网站各网站收录
  • 做简历好的网站关键词优化上海
  • 如何在自己网站上做支付宝吗百度账号管家
  • 做网站用别人图片文章会侵权吗百度站长提交
  • 复兴企业做网站推广搜狗站长管理平台
  • 做网站需要哪些知识google play下载安卓
  • 温州手机网站推广做优化的网站
  • 用群晖做网站域名查询网站信息
  • 深圳企业网站制作报价哪里有竞价推广托管
  • 双语网站建设哪家便宜百度首页推广
  • 网站logo网推是干什么的
  • 东莞网站建设效果seo干什么
  • 网站小样用什么做小红书关键词排名
  • 注册商标查询网seo人员工作内容
  • 济南网站建设设计天津做网站的
  • 网站开发合同怎么写营销网站建设规划
  • 开发公司移交柴油发动机需要具备哪些条件成都网站建设seo
  • 什么网站免费可以做app游戏推广员一个月能赚多少
  • wordpress 博主青岛百度推广优化
  • 在什么网站上做兼职靠谱吗关键词排名工具
  • 小程序定制开发多少钱一年网站推广优化外链
  • 辽宁省建设行业协会网站谷歌优化seo
  • 设计方案评价武汉seo 网络推广
  • 阿里云个人网站建设书网站如何进行网络推广
  • 广州新塘建网站视频营销案例
  • 关于做奶妈的视频网站免费网站推广优化
  • 专门做物理的网站网络推广费用计入什么科目
  • 网页设计的作用上海优质网站seo有哪些
  • wordpress中文说明书站长工具seo综合查询收费吗
  • 男女做差差事的视频网站百度风云榜小说排行榜