AlgoMaster Logo

Maximum Subarray

nums=[-2, 1, -3, 4, -1, 2, 1]
1public int maxSubArray(int[] nums) {
2    int currentSum = nums[0];
3    int maxSum = nums[0];
4
5    for (int i = 1; i < nums.length; i++) {
6        if (currentSum < 0) {
7            currentSum = nums[i];
8        } else {
9            currentSum += nums[i];
10        }
11
12        if (currentSum > maxSum) {
13            maxSum = currentSum;
14        }
15    }
16
17    return maxSum;
18}
0 / 20
-21-34-121currentSum = 0maxSum = 0