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

温州网站优化指导百度seo排名优化费用

温州网站优化指导,百度seo排名优化费用,淮南市城乡建设委网站,客户营销题目: 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 思路 由于做了53. 最大子数组和 下意识觉得求出所有元素的以该元素结尾的连续…

题目:

给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。

思路

由于做了53. 最大子数组和

下意识觉得求出所有元素的以该元素结尾的连续子数组的最大值,然后最大值数组里求最大值。

如何求以某个元素结尾的连续子数组最大值呢?

首先约定:

preMax 表示以前一个元素结尾的连续子数组的最大值,

preMin 表示以前一个元素结尾的连续子数组的最小值

由于思维定势,会觉得是 max = Math.max(元素A,元素A*preMax )。

但是这样是错误的。

例如:[-2,3,-2]

第一个元素最大值是 -2 ,第二个元素最大值是3,第三个元素最大值是12。

但是根据公式,第三个元素最大值 = Math.max(-2*3,-2)= -2.

原因就在于数组里的元素是有正负的,如果只是正数,那么这个方式是可以的。

所以如何求以某个元素结尾的最大值呢?

如果该元素是负数,max = Math.max( 元素, 元素*preMin )

如果该元素是正数,max = Math.max( 元素, 元素*preMax)

因此对于每个元素都要记录最小值与最大值。

如果该元素是负数,max = Math.max( 元素, 元素preMin) min = Math.min( 元素, 元素preMax)

如果该元素是正数,max = Math.max( 元素, 元素preMax) min = Math.min( 元素, 元素preMin)

max = Math.max(元素, 元素preMin,元素preMax)

min = Math.min( 元素, 元素preMin,元素preMax)

var maxProduct = function(nums) {let res = nums[0];let max = 1;let min = 1;for(let num of nums){let temp = max;max = Math.max(max*num, num,min*num);// max 应该是以前面一个元素结尾的连续子数组的max,不应该是处理后的max,用temp接收min = Math.min(min*num,num,temp*num);res = Math.max(res, max);}return res;
};
http://www.yidumall.com/news/107603.html

相关文章:

  • 重生主角做视频网站的小说百度最容易收录的网站
  • 网站谁建设的知乎seo优化
  • 西安计算机培训机构排行榜seo关键词优化报价
  • 金华网站建设大型网页建设北京seo公司公司
  • 网站制作app市场监督管理局官网入口
  • 网站建设公司工资设置网址搜索ip地址
  • 厦门网站建设设磁力天堂最佳搜索引擎入口
  • 在线网站免费网站入口威海seo优化公司
  • 网站建设中的英文网页设计案例
  • 医疗器械外贸网站建设怎么做盲盒
  • 建设久久建筑网站百度一下你就知道首页官网
  • 网址站点出现异常怎么办免费站推广网站2022
  • wordpress+4.5+多站点腾讯广告投放平台官网
  • 网页制作排行榜东莞seo托管
  • 效果好企业营销型网站建设开发郑州seo优化顾问热狗
  • 网站出现wordpress公司推广策划
  • 重庆景点排名前十seo云优化如何
  • 杨和勒流网站建设西地那非片能延时多久
  • wordpress制作网站模板百度安装下载
  • 台州做网站联系方式百度中心人工电话号码
  • 收集链接 做网站找客户资源的软件免费的
  • 外贸最大电子元器件交易网站绍兴百度推广优化排名
  • 网站建设犭金手指B排名14百度搜索趋势
  • 网站建设网站模板站内搜索引擎
  • 深圳十大网站建设企业网站网页设计
  • 哪些网站是做快消品的宁波网络营销公司
  • 陕西东盟建设工程有限公司网站微信公众号软文怎么写
  • 程序员做情侣网站google广告投放技巧
  • 微网站开发系统qq代刷网站推广
  • 做网站后台要学seo是什么?