This was the solution I thought of, if there are any improvements you can suggest then please let me know. I am still a beginner and there is so much to know, thanks!

```
int maxSubArray(vector<int>& nums) {
int currSum = 0;
int maxSum = INT_MIN;
for(int i=0; i<nums.size();i++){
currSum+=nums.at(i);
if(nums.at(i)>currSum){
currSum = nums.at(i);
}
if(currSum>maxSum){
maxSum = currSum;
}
}
return maxSum;
}
```