p_ce1052   4년 전

왜 시간초과가 날까요? 재귀함수로 짠게 문제일까요? 알고리즘은 잘 동작하는것 같습니다.

djm03178   4년 전

"알고리즘은 잘 동작하는것 같습니다."

이 말은 어떻게 보면 맞고, 어떻게 보면 틀립니다.

1. '알고리즘'이 '그냥 답은 나온다'는 뜻인 경우: 맞습니다. 하지만 시간이 오래 걸리는 것과는 무관합니다.

2. '알고리즘'이 '투 포인터'인 경우: 맞습니다. 하지만 그렇기 때문에 O(nm)이라 당연히 시간 초과가 됩니다.

3. '알고리즘'이 '이분 탐색'인 경우: 틀립니다. 이분 탐색이 되려면 middle에서 찾는 걸 실패했을 때 [start, middle) 또는 (middle, end]로 가야 하는데 이 코드는 [start, end-1] 또는 [start+1, end]로 가고 있기 때문입니다.

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