배열의 연속된 수들의 합이 가장 최대가 되는 값을 구하면 되는 문제.
배열을 순회하면서 자신의 값과, 이전의 값들과의 합 중 큰 것을 가지면 된다. 그렇게 순회하면서 maxValue를 계속 갱신해 주면 해결
class Solution {
public int maxSubArray(int[] nums) {
int maxValue = nums[0];
int sumValue = nums[0];
for(int i=1; i<nums.length; i++){
sumValue = Math.max(sumValue + nums[i],nums[i]);
maxValue = Math.max(maxValue,sumValue);
}
return maxValue;
}
}