Brute force: every start, growing sum
Time O(n²) Space O(1)For each start i, extend the end j one step at a time, keeping a running sum, and track the maximum. Using a running sum avoids an O(n³) re-summing loop.
class Solution {
public int maxSubArray(int[] nums) {
int best = Integer.MIN_VALUE;
for (int i = 0; i < nums.length; i++) {
int sum = 0;
for (int j = i; j < nums.length; j++) {
sum += nums[j];
best = Math.max(best, sum);
}
}
return best;
}
}Verdict: About 5 × 10⁹ steps for n = 10⁵: too slow. The repeated work: every start re-adds the same later elements.