当前位置: 首页 > Web前端 > HTML

53.最大子数组和-算法(leetcode,附思维导图+全解)300题

时间:2023-03-28 00:24:40 HTML

零题目:算法(leetcode,附思维导图+全解)300题(53)最大子数组和一个题目描述2解法概览(思维导图)3AllSolutions1Scheme11)代码://Solution1"Myself.Greedymethod".//思路://1)状态初始化l=nums.length;sum=0,resMaxVal=Number.NEGATIVE_INFINITY;.//2)核心:遍历数组。//2.1)核心:如果此时sum<0,说明我还不如从0开始——也就是把sum重置为0。//2.2)sum加上当前值num[i]。//2.3)根据求和情况更新resMaxVal值。//3)返回结果resMaxVal。varmaxSubArray=function(nums){//1)状态初始化l=nums.length;sum=0,resMaxVal=Number.NEGATIVE_INFINITY;.constl=nums.length;让sum=0,resMaxVal=Number.NEGATIVE_INFINITY;//2)核心:遍历数组。for(leti=0;i{constiSum=l.iSum+r.iSum;constlSum=Math.max(l.lSum,l.iSum+r.lSum);constrSum=Math.max(r.rSum,r.iSum+l.rSum);constmSum=Math.max(Math.max(l.mSum,r.mSum),l.rSum+r.lSum);返回新状态(lSum、rSum、mSum、iSum);}constgetInfo=(a,l,r)=>{if(l=r){returnnewStatus(a[l],a[l],a[l],a[l]);}constm=(l+r)>>1;constlSub=getInfo(a,l,m);constrSub=getInfo(a,m+1,r);返回pushUp(lSub,rSub);}returngetInfo(nums,0,nums.length-1).mSum;}四大资源分享&更多1历史文章-概览2博主简介码农三少,致力于编写极简但完整的问题解决方案(算法)的博主专注一题多解,结构化思维,欢迎一起刷LeetCode~