53. Maximum Subarray
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int n = nums.size();
if( n == 0 ) return 0;
if(n == 1) return nums[0];
int sum = nums[0];
int dp [n]; fill_n(dp, n, 0); dp[0] = nums[0];
for ( int i = 1; i < n; i++){
dp[i] = dp[i-1] > 0 ? dp[i-1] + nums[i]: nums[i];
if(dp[i] > sum) sum = dp[i];
}
return sum;
}
};Last updated
Was this helpful?