2jaebbaang   3년 전

병합정렬을 이용했는데 왜 계속 시간초과가 뜨는지 이유를 모르겠습니다.

djm03178   3년 전

new int[A.length]; 를 매번 수행하면 O(N)번의 호출 시마다 크기가 O(N)인 배열을 할당받게 되므로 총 O(N^2) 시간이 걸립니다. end - start + 1만큼만 할당받거나, 아니면 할당을 미리 하나만 받아두고 재사용해야 합니다.

2jaebbaang   3년 전

퀵정렬로 푼건데요. 이것도 시간초과가 뜹니다. 전혀 모르겠어요 ㅠㅠ

djm03178   3년 전

처음부터 이걸 드릴 걸 그랬습니다.

https://www.acmicpc.net/board/...

2jaebbaang   3년 전

감사합니다. 정말 큰 도움됐습니다!

댓글을 작성하려면 로그인해야 합니다.