Skip to content

Commit d174b65

Browse files
committed
maximum subarray
1 parent dcd28c0 commit d174b65

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
dp๋ฅผ ์ด์šฉํ•˜์—ฌ ์ง€์†์ ์œผ๋กœ ์ตœ๋Œ€์˜ ๊ฐ’์„ ๊ธฐ๋กํ•˜๋ฉด์„œ ์—ฐ์† ๋ถ€๋ถ„ ๋ฐฐ์—ด์˜ ์ตœ๋Œ€ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹
3+
nums ์˜ ๊ธธ์ด -> N
4+
์‹œ๊ฐ„ ๋ณต์žก๋„ : O(N)
5+
๊ณต๊ฐ„ ๋ณต์žก๋„ : O(N)
6+
*/
7+
class Solution2 {
8+
public int maxSubArray(int[] nums) {
9+
int[] dp = new int[nums.length];
10+
dp[0] = nums[0];
11+
for(int i = 1; i < nums.length; i++) {
12+
dp[i] = Math.max(nums[i], dp[i-1] + nums[i]);
13+
}
14+
15+
for(int i = 0; i < dp.length; i++) {
16+
}
17+
return Arrays.stream(dp)
18+
.max()
19+
.getAsInt();
20+
}
21+
}
22+
23+
/**
24+
์ด์ „ ๋ฐฉ์‹๊ณผ ๋™์ผํ•˜๋‚˜ ๋ณ€์ˆ˜ ํ•˜๋‚˜๋กœ ์ด์ „ ๊ฐ’๋งŒ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ์‹
25+
nums ์˜ ๊ธธ์ด -> N
26+
์‹œ๊ฐ„ ๋ณต์žก๋„ : O(N)
27+
๊ณต๊ฐ„ ๋ณต์žก๋„ : O(1)
28+
*/
29+
class Solution {
30+
public int maxSubArray(int[] nums) {
31+
int prevSum = nums[0];
32+
int result = prevSum;
33+
for(int i = 1; i < nums.length; i++) {
34+
prevSum = Math.max(nums[i], prevSum + nums[i]);
35+
result = Math.max(result, prevSum);
36+
}
37+
38+
return result;
39+
}
40+
}

0 commit comments

Comments
ย (0)