Skip to content

Commit 7e17953

Browse files
author
이연수
committed
maximum subarray
1 parent dafbd2f commit 7e17953

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package leetcode_study
2+
3+
/*
4+
* 주어진 숫자 배열에서 Subarray가 가장 큰 수를 구하는 문제
5+
* 시간 복잡도: O(n)
6+
* -> 주어진 배열만큼 계산
7+
* 공간 복잡도: O(n)
8+
* -> 가중치를 더하는 배열 필요
9+
* */
10+
fun maxSubArray(nums: IntArray): Int {
11+
val dp = IntArray(nums.size)
12+
dp[0] = nums[0]
13+
14+
for (i in 1 until nums.size) {
15+
if (dp[i - 1] + nums[i] >= 0 && dp[i-1] >= 0) {
16+
dp[i] = dp[i - 1] + nums[i]
17+
} else {
18+
dp[i] = nums[i]
19+
}
20+
}
21+
return dp.max()
22+
}

0 commit comments

Comments
 (0)