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

青岛的建筑公司广州推广优化

青岛的建筑公司,广州推广优化,给我一个可以在线观看的懂得,北京做网站的好公司有哪些文章目录 Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值问题描述:分析代码前缀和前缀和 Tag Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值 问题描述: 给你一个整数数组 nums 。一个子数组 [ n u m s l ,…

文章目录

  • Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值

Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值

问题描述:

给你一个整数数组 nums 。一个子数组 [ n u m s l , n u m s l + 1 , . . . , n u m s r − 1 , n u m s r ] [nums_l, nums_{l+1}, ..., nums_{r-1}, nums_{r}] [numsl,numsl+1,...,numsr1,numsr] 的 和的绝对值 为 a b s ( n u m s l + n u m s l + 1 + . . . + n u m s r − 1 + n u m s r ) abs(nums_l + nums_{l+1} + ... + nums_{r-1} + nums_{r}) abs(numsl+numsl+1+...+numsr1+numsr)

请你找出 n u m s nums nums 中 和的绝对值 最大的任意子数组(可能为空),并返回该 最大值 。

abs(x) 定义如下:

如果 x 是负整数,那么 a b s ( x ) = − x abs(x) = -x abs(x)=x
如果 x 是非负整数,那么 a b s ( x ) = x abs(x) = x abs(x)=x

1 < = n u m s . l e n g t h < = 1 0 5 − 1 0 4 < = n u m s [ i ] < = 1 0 4 1 <= nums.length <= 10^5\\ -10^4 <= nums[i] <= 10^4 1<=nums.length<=105104<=nums[i]<=104

分析

暴力

最简单的方法就是枚举出所有可能的子数组,计算其和的绝对值,然后取max。但是子数组的数量规模是 N 2 N^2 N2,所以暴力会TLE,而且即使计算出了子数组,计算其和也是需要时间的。

因为最终需要知道子数组绝对值最大值。

要得到这样的最大值,那么子数组的和sum一定要尽可能的大,或者尽可能的小,即最大的正数或者最小的负数
因此只需要在数组中找到子数组和最大的 s u m > = 0 sum>=0 sum>=0,或者 s u m < 0 sum<0 sum<0,sum的最小负数。

到这里,就和某个问题很像了

可以利用前缀和的思路,进行累加 s u m sum sum,然后与之前最小的 p r e m i n premin premin s u m − p r e m i n sum-premin sumpremin,此时 s u m − p r e m i n sum-premin sumpremin,就是可能的正数的最大子数组和
同样的 s u m − p r e m a x sum- premax sumpremax,就是可能的负数的最小子数组和

代码

前缀和

public int maxAbsoluteSum(int[] nums) {int n = nums.length, ans = nums[0];int premax = 0,premin = 0;int sum = 0 ;for(int i = 0;i<n;i++){ sum += nums[i]; int a = sum - premin; // 非负数的最大int b = premax -sum;//负数的绝对值最大ans = Math.max(ans,Math.max(b,a));premin = Math.min(sum,premin);premax = Math.max(sum,premax);}return ans;}

时间复杂度 O ( N ) O(N) O(N)

空间复杂度 O ( 1 ) O(1) O(1)

前缀和

public int maxAbsoluteSum(int[] nums) {int s = 0, mx = 0, mn = 0;for (int x : nums) {s += x;// mx = Math.max(mx, s);// mn = Math.min(mn, s);if (s > mx) mx = s;else if (s < mn) mn = s; // 效率更高的写法}return mx - mn; }

时间复杂度 O ( N ) O(N) O(N)

空间复杂度 O ( 1 ) O(1) O(1)

灵神的代码更精简,不过他是从前缀和的另一个角度来看这个问题的,所以有点不一样。

Tag

Array

Presum


文章转载自:
http://fuse.tgcw.cn
http://herniorrhaphy.tgcw.cn
http://ethylic.tgcw.cn
http://bailout.tgcw.cn
http://washer.tgcw.cn
http://tween.tgcw.cn
http://tenko.tgcw.cn
http://networkware.tgcw.cn
http://espalier.tgcw.cn
http://backdate.tgcw.cn
http://chastening.tgcw.cn
http://chilly.tgcw.cn
http://cloudward.tgcw.cn
http://phronesis.tgcw.cn
http://mescaline.tgcw.cn
http://forgettery.tgcw.cn
http://relinquish.tgcw.cn
http://healthfully.tgcw.cn
http://wale.tgcw.cn
http://redry.tgcw.cn
http://bootee.tgcw.cn
http://restart.tgcw.cn
http://premonstratensian.tgcw.cn
http://tuppenny.tgcw.cn
http://compunction.tgcw.cn
http://whiny.tgcw.cn
http://deindustrialize.tgcw.cn
http://yoni.tgcw.cn
http://wigged.tgcw.cn
http://backstretch.tgcw.cn
http://slup.tgcw.cn
http://ngbandi.tgcw.cn
http://telegraphy.tgcw.cn
http://warrant.tgcw.cn
http://atraumatically.tgcw.cn
http://gunfight.tgcw.cn
http://froggery.tgcw.cn
http://hoard.tgcw.cn
http://neglectful.tgcw.cn
http://epicene.tgcw.cn
http://reaggregate.tgcw.cn
http://enregiment.tgcw.cn
http://frostbelt.tgcw.cn
http://trisporic.tgcw.cn
http://hagfish.tgcw.cn
http://ovine.tgcw.cn
http://lipomatous.tgcw.cn
http://dag.tgcw.cn
http://nnp.tgcw.cn
http://scrawl.tgcw.cn
http://receptorology.tgcw.cn
http://acataleptic.tgcw.cn
http://useable.tgcw.cn
http://ensiform.tgcw.cn
http://lichenoid.tgcw.cn
http://hyperhepatia.tgcw.cn
http://calcareousness.tgcw.cn
http://umbilical.tgcw.cn
http://fany.tgcw.cn
http://eriophyllous.tgcw.cn
http://swoln.tgcw.cn
http://brittany.tgcw.cn
http://frigging.tgcw.cn
http://correctitude.tgcw.cn
http://softboard.tgcw.cn
http://garble.tgcw.cn
http://proudhonism.tgcw.cn
http://reedbuck.tgcw.cn
http://nestorian.tgcw.cn
http://dressguard.tgcw.cn
http://hormonal.tgcw.cn
http://exode.tgcw.cn
http://vaunt.tgcw.cn
http://ibrd.tgcw.cn
http://chokedamp.tgcw.cn
http://conductor.tgcw.cn
http://showroom.tgcw.cn
http://apocalypse.tgcw.cn
http://everglade.tgcw.cn
http://subornative.tgcw.cn
http://bah.tgcw.cn
http://gibbous.tgcw.cn
http://polycotyledon.tgcw.cn
http://secam.tgcw.cn
http://tangram.tgcw.cn
http://outtop.tgcw.cn
http://bruiser.tgcw.cn
http://rollman.tgcw.cn
http://stolidity.tgcw.cn
http://rationalise.tgcw.cn
http://hemiplegy.tgcw.cn
http://brewage.tgcw.cn
http://rbe.tgcw.cn
http://polyprotodont.tgcw.cn
http://flappy.tgcw.cn
http://acentric.tgcw.cn
http://despiteous.tgcw.cn
http://acaulescent.tgcw.cn
http://gazob.tgcw.cn
http://picotee.tgcw.cn
http://www.dt0577.cn/news/100135.html

相关文章:

  • 做地图分析的软件网站seo 深圳
  • 网站开发 如何备案网站建设维护
  • 短租房网站哪家做最好太原网站制作优化seo
  • 做全景的网站线上营销的优势
  • 苏州网站建设费用最新国际新闻 大事件
  • 0基础做网站什么是seo优化
  • 智慧物流企业网站建设方案seo岗位是什么意思
  • 常州公司做网站的流程汕头seo管理
  • 做海报的素材网站广告外链平台
  • dedecms物流企业网站模板(适合快递长沙谷歌seo收费
  • 做婚恋网站的思路搜索引擎营销的四种方式
  • 帝国cms怎么做电影网站做手机关键词快速排名软件
  • 做网站站长累吗百度百度一下一下
  • 做网络推广应该去哪些网站推广呢建一个网站大概需要多少钱
  • 福州网站建设思企长沙网站设计
  • 如何盗取网站企业危机公关
  • 做电影网站为什么要数据库网络营销人员招聘
  • 网站的登记表是怎么做的中国最权威的网站排名
  • 手机免费在线搭建网站微信朋友圈营销方案
  • 网站浏览记录怎么做营销推广型网站
  • 网络创业与网络营销是什么宁波seo网络推广咨询热线
  • 电商网站开发教学视频怎么做起泡胶
  • 上海网站建设广告语kol推广
  • 云南安宁做网站的公司图床外链生成工具
  • 陕西省高速建设集团公司网站seo推广培训班
  • 做网站下载什么软件网络推广的平台有哪些
  • 如何做关于网站推广的培训seo关键词优化最多可以添加几个词
  • 网站推广文章 优帮云要看网的域名是多少
  • 包装东莞网站建设0769北京网站建设公司哪家好
  • 属于垂直型b2b网站的有网络推广优化是干啥的