package codility;
public class MaxSliceSum_221231 {
public static void main(String[] args) {
int [] A = {3,2,-6,4,0};
System.out.println(solution(A));
}
public static int solution(int[] A) {
if(A.length == 1){
return A[0];
}
int max = A[0];
int temp = A[0];
int answer = A[0];
for(int i = 1; i < A.length; i++){
max = Math.max(A[i], temp + A[i]); //여기를 A[i] +A[i+1]로 짜면 오류남!
temp = max;
answer = Math.max(max, answer);
}
return answer;
}
}
temp 값을 두는 것이 포인트... (temp 없이 중간 값 둬도 될 것 같긴 했는데 시간복잡도 초과됨!)
새해 복 많이 받으세요. (2022-12-31!)
댓글
댓글 쓰기