Leetcode Java Maximum Subarray
업데이트:
문제
코드
class Solution {
public int maxSubArray(int[] nums) {
int subSum = nums[0];
int result = subSum;
for (int idx = 1; idx < nums.length; idx++) {
subSum = Math.max(subSum + nums[idx], nums[idx]);
result = Math.max(result, subSum);
}
return result;
}
}
결과
설명
-
주어진 배열 nums의 부분 합이 가장 큰 값을 구하는 문제이다.
-
부분 합을 저장하는 subSum은 초기 값을 주어진 배열 nums의 첫 값을 주입하고, 가장 큰 부분 합의 값을 저장하는 result 또한 같은 값으로 정의한다.
- 주어진 배열 nums를 두 번째 값부터 부분 합을 구하여 최대가 되는 값을 구한다.
- 초기화를 주어진 배열 nums의 첫 값으로 하였으므로, 두 번째 값부터 반복문을 수행한다.
- subSum을 주어진 배열 nums의 값을 더한 값과, subSum 값 중 큰 값을 subSum에 저장한다.
- result와 subSum의 값 중 가장 큰 값을 result 변수에 저장한다.
- 반복이 종료되면, 가장 큰 부분 합을 저장한 변수 result를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기