We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 016923a commit 9e391e4Copy full SHA for 9e391e4
C++/maximum-subarray.cpp
@@ -4,15 +4,11 @@
4
class Solution {
5
public:
6
int maxSubArray(vector<int>& nums) {
7
- const auto& max_num = *max_element(nums.cbegin(), nums.cend());
8
- if (max_num < 0) {
9
- return max_num;
10
- }
11
- int global_max = 0, local_max = 0;
+ int result = numeric_limits<int>::min(), curr = numeric_limits<int>::min();
12
for (const auto &x : nums) {
13
- local_max = std::max(0, local_max + x);
14
- global_max = std::max(global_max, local_max);
+ curr = (curr == numeric_limits<int>::min()) ? x : max(curr + x, x);
+ result = max(result, curr);
15
}
16
- return global_max;
+ return result;
17
18
};
0 commit comments