Skip to content

Commit c198cd9

Browse files
committed
修改文件: DynamicProgram/53-maximum-subarray.md
1 parent 720b409 commit c198cd9

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

DynamicProgram/53-maximum-subarray.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ grammar_cjkRuby: true
99
[53-maximum-subarray](https://leetcode.com/problems/maximum-subarray/#/description)
1010

1111
# solution
12+
## 使用辅助空间+贪心法
1213
```cpp
1314
int maxSubArray(vector<int>& nums) {
1415
//转移方程为,以当前节点结尾的最大的串,看前面的最大串的结果,如果为负数就算了。
@@ -24,4 +25,25 @@ grammar_cjkRuby: true
2425
}
2526
return *max_element(result.begin(),result.end());
2627
}
28+
```
29+
30+
### 代码分析
31+
这里使用了辅助空间,空间复杂度为0(n);
32+
33+
## 贪心算法
34+
35+
```cpp
36+
int maxSubArray(vector<int>& nums) {
37+
//转移方程为,以当前节点结尾的最大的串,看前面的最大串的结果,如果为负数就算了。
38+
if (nums.empty())
39+
return 0;
40+
int sum = nums[0];
41+
int maxSum = nums[0];
42+
for (int i = 1; i < nums.size(); i++)
43+
{
44+
sum=nums[i] += max(0, sum);
45+
maxSum = max(sum, maxSum);
46+
}
47+
return maxSum;
48+
}
2749
```

0 commit comments

Comments
 (0)