728x90
반응형
연속된 원소를 더한 부분 수열의 최댓값을 구하는 문제
- 수의 합을 반복적으로 구한다.
- 이 때 합이 음수이면 그 다음 수부터 다시 시작한다.
- 합의 최댓값을 도출한다.
-3 3 5 -3 -7 9 -2 10 -5 -2
-3 경우 음수이므로 반영안한다.
현재 합 : 0
합의 최댓값 : 0
3 경우
현재 합 : 3
합의 최댓값 : 3
5 경우
현재 합 : 8
합의 최댓값 : 8
-3 경우
현재 합 : 5
합의 최댓값 : 8
-7 경우
현재 합 : -2 -> 0 음수이므로 0으로 갱신
합의 최댓값 : 8
9 경우
현재 합 : 9
합의 최댓값 : 9
-2 경우
현재 합 : 7
합의 최댓값 : 9
10 경우
현재 합 : 17
합의 최댓값 : 17
-5 경우
현재 합 : 12
합의 최댓값 : 17
-2 경우
현재 합 : 10
합의 최댓값 : 17
dynamic_Sum(n){
dp[0] = n[0]
for i<-1 to n-1
dp[i] = max(0,dp[i-1]) + n[i];
728x90
반응형
'Algorithm' 카테고리의 다른 글
순열(Permutation)-c# (1) | 2023.12.17 |
---|---|
동전 교환(거스름돈) 알고리즘 (0) | 2019.05.06 |
최장 공통 부분 수열 (0) | 2019.05.05 |
최장 증가 부분 수열 (0) | 2019.05.05 |
BFS와 DFS (0) | 2019.05.02 |