当前位置: 首页 > 后端技术 > Python

Leetcode剑指offer42.连续子数组的最大值及Python实现(同53题)

时间:2023-03-26 01:30:09 Python

题目要求:思路:维护一个tmp存放临时最大值,维护一个res存放全局最大值,也就是遍历数组的结果。如果当前tmp小于0,则将当前值赋给tmp。如果当前值大于0,则将当前值加上tmp的值之和赋值给tmp。给最大的res和tmp赋值结束res循环,返回res核心代码:#res的初始值只是数组中的一个随机元素,初始值不能为0,因为有可能数组中的所有元素小于0res=nums[-1]tmp=0foriinnums:iftmp<0:tmp=ielse:tmp+=ires=max(res,tmp)returnres完整代码:类解决方案:defmaxSubArray(self,nums:List[int])->int:res=nums[-1]tmp=0foriinnums:iftmp<0:tmp=ielse:tmp+=ires=max(res,tmp)返回资源