blue_sau   5년 전

1005번 질문 게시판에 있는 반례들은 거의 다 집어 넣어 보았고, 여러 개의 테스트 케이스가 있는 반례들도 잘 돌아가 주었습니다,

그런데, 제출 에서는 시간 초과 오류가 6% 쯤에서 발생하네요.

이 코드에 대한 반례는 없을까요??

didgogns   5년 전

LinkedList.contains()는 O(N)의 시간이 들기 때문에, 이 코드의 시간복잡도는 O(N^2)입니다.

blue_sau   5년 전

앗! 그러내요 ㅠㅠ

감사합니다!

blue_sau   5년 전

자문 자답입니다.

저 코드 외에도 시간 복잡도를 늘릴만한 요소들이 많아서, 한번 다녀간 곳에 대한 연산은 하지 않는 방식으로 제귀 함수를 이용하여 푸니,

코드도 간단하고 짧아지고, 체감 시간도 많이 줄었습니다. 결국 제귀로 풀었습니다!

저 알고리즘이 틀렸었다기 보다는 시간 복잡도가 높아서 시간 초과가 난 것 같네요.

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