LeetCode) 53. Maximum Subarray

유병수·2023년 5월 18일
0

53. Maximum Subarray

배열의 연속된 수들의 합이 가장 최대가 되는 값을 구하면 되는 문제.

배열을 순회하면서 자신의 값과, 이전의 값들과의 합 중 큰 것을 가지면 된다. 그렇게 순회하면서 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;
    }
}

0개의 댓글