Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 859ccf4

Browse files
committed
Update problems/53.maximum-sum-subarray-cn.en.md, python code reformation
1 parent afabb87 commit 859ccf4

File tree

1 file changed

+58
-48
lines changed

1 file changed

+58
-48
lines changed

‎problems/53.maximum-sum-subarray-cn.en.md

Lines changed: 58 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -151,18 +151,21 @@ _Python3 code_ `(TLE)`
151151

152152
```python
153153
import sys
154+
154155
class 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
215218
class 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
286289
import sys
287290
class 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
361370
class 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

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /