# Leetcode 解題速記 53. Maxmium Subarray
###### tags: `LeetCode` `C++`
題敘:
---
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
A subarray is a contiguous part of an array.
測資範圍:
---
* 1 <= nums.length <= 105
* -104 <= nums[i] <= 104
解題筆記:
---
經典DP題
開一個sum變數紀錄總和,當總和比max大時就更新max
若sum<0則重新開始紀錄
程式碼:
---
```c=
int maxSubArray(int* nums, int numsSize){
int i=0,sum=0;
int max=nums[0];
for(int i=0;i<numsSize;i++){
sum+=nums[i];
if(max<sum){
max=sum;
}
if(sum<0){
sum=0;
}
}
return max;
}
```