@@ -151,18 +151,21 @@ _Python3 code_ `(TLE)`
151151
152152``` python 
153153import  sys
154+ 154155class  Solution :
155- def  maxSubArray (self nums : List[int ]) -> int :
156- n =  len (nums)
157- maxSum =  - sys. maxsize
158- sum  =  0 
159- for  i in  range (n):
160- sum  =  0 
161- for  j in  range (i, n):
162- sum  +=  nums[j]
163- maxSum =  max (maxSum, sum )
164- 165- return  maxSum
156+  def  maxSubArray (self nums : list[int ]) -> int :
157+  n =  len (nums)
158+  maxSum =  - sys. maxsize
159+  sum  =  0 
160+ 161+  for  i in  range (n):
162+  sum  =  0 
163+ 164+  for  j in  range (i, n):
165+  sum  +=  nums[j]
166+  maxSum =  max (maxSum, sum )
167+ 168+  return  maxSum
166169``` 
167170
168171_ Javascript code_  from [ ** @lucifer  ** ] ( https://github.com/azl397985856 ) 
@@ -213,16 +216,16 @@ _Python3 code_
213216
214217``` python 
215218class  Solution :
216- def  maxSubArray (self nums : List [int ]) -> int :
217- n =  len (nums)
218- maxSum =  nums[0 ]
219- minSum =  sum  =  0 
220- for  i in  range (n):
221- sum  +=  nums[i]
222- maxSum =  max (maxSum, sum  -  minSum)
223- minSum =  min (minSum, sum )
224- 225- return  maxSum
219+ def  maxSubArray (self nums : list [int ]) -> int :
220+ n =  len (nums)
221+ maxSum =  nums[0 ]
222+ minSum =  sum  =  0 
223+ for  i in  range (n):
224+ sum  +=  nums[i]
225+ maxSum =  max (maxSum, sum  -  minSum)
226+ minSum =  min (minSum, sum )
227+ 228+ return  maxSum
226229``` 
227230
228231_ Javascript code_  from [ ** @lucifer  ** ] ( https://github.com/azl397985856 ) 
@@ -285,25 +288,31 @@ _Python3 code_
285288``` python 
286289import  sys
287290class  Solution :
288- def  maxSubArray (self nums : List[int ]) -> int :
289- return  self . helper(nums, 0 , len (nums) -  1 )
290- def  helper (self nums , l , r ):
291- if  l >  r:
292- return  - sys. maxsize
293- mid =  (l +  r) //  2 
294- left =  self . helper(nums, l, mid -  1 )
295- right =  self . helper(nums, mid +  1 , r)
296- left_suffix_max_sum =  right_prefix_max_sum =  0 
297- sum  =  0 
298- for  i in  reversed (range (l, mid)):
299- sum  +=  nums[i]
300- left_suffix_max_sum =  max (left_suffix_max_sum, sum )
301- sum  =  0 
302- for  i in  range (mid +  1 , r +  1 ):
303- sum  +=  nums[i]
304- right_prefix_max_sum =  max (right_prefix_max_sum, sum )
305- cross_max_sum =  left_suffix_max_sum +  right_prefix_max_sum +  nums[mid]
306- return  max (cross_max_sum, left, right)
291+  def  maxSubArray (self nums : list[int ]) -> int :
292+  return  self . helper(nums, 0 , len (nums) -  1 )
293+ 294+  def  helper (self nums , l , r ):
295+  if  l >  r:
296+  return  - sys. maxsize
297+ 298+  mid =  (l +  r) //  2 
299+  left =  self .helper(nums, l, mid -  1 )
300+  right =  self .helper(nums, mid +  1 , r)
301+  left_suffix_max_sum =  right_prefix_max_sum =  0 
302+  sum  =  0 
303+ 304+  for  i in  reversed (range (l, mid)):
305+  sum  +=  nums[i]
306+  left_suffix_max_sum =  max (left_suffix_max_sum, sum )
307+ 308+  sum  =  0 
309+  for  i in  range (mid +  1 , r +  1 ):
310+  sum  +=  nums[i]
311+  right_prefix_max_sum =  max (right_prefix_max_sum, sum )
312+ 313+  cross_max_sum =  left_suffix_max_sum +  right_prefix_max_sum +  nums[mid]
314+ 315+  return  max (cross_max_sum, left, right)
307316``` 
308317
309318_ Javascript code_  from [ ** @lucifer  ** ] ( https://github.com/azl397985856 ) 
@@ -359,14 +368,15 @@ _Python3 code_
359368
360369``` python 
361370class  Solution :
362- def  maxSubArray (self nums : List[int ]) -> int :
363- n =  len (nums)
364- max_sum_ending_curr_index =  max_sum =  nums[0 ]
365- for  i in  range (1 , n):
366- max_sum_ending_curr_index =  max (max_sum_ending_curr_index +  nums[i], nums[i])
367- max_sum =  max (max_sum_ending_curr_index, max_sum)
368- 369- return  max_sum
371+  def  maxSubArray (self nums : list[int ]) -> int :
372+  n =  len (nums)
373+  max_sum_ending_curr_index =  max_sum =  nums[0 ]
374+ 375+  for  i in  range (1 , n):
376+  max_sum_ending_curr_index =  max (max_sum_ending_curr_index +  nums[i], nums[i])
377+  max_sum =  max (max_sum_ending_curr_index, max_sum)
378+ 379+  return  max_sum
370380``` 
371381
372382_ Javascript code_  from [ ** @lucifer  ** ] ( https://github.com/azl397985856 ) 
0 commit comments