koreanace   1년 전

 퀵소트 후 투포인터를 하였습니다. 정렬이 된 상태이기에, right가 N-1부터 시작해서 내려갈 수록 해당 Right 인덱스와 left 인덱스 의 값을 서로 더하여 절댓값을 취해 min 여부를 가렸습니다. 

left가 다음 수로  되기 위해 인덱스를 ++ 한 후 불필요하게 right가 N-1로 다시 시작하기보단, 전역변수로 써서 이전에 루프때 끝난 right 수 그대로  -1하여 인덱스를  물려받아 left, right 인덱스의 값 을 서로  더해 min 여부를 가리는 로직입니다.   (정렬 되었다는 특징 활용)

왜 틀렸는지, 반례가 궁금합니다.

주요 로직은 process 함수 에 있습니다.

*이분탐색은 하지 않았습니다. 왜 해야 하는지 깨닫지 못했으며, 우선 아래 코드를 통한 반례가 있는지에 대한 여부만 알려주시면 감사하겠습니다. 

타임에러가 아닌 실패 로 떠서 이는 타임에러가 아닌, 반례가 있다는 걸로 간주하여 질문드립니다.

koreanace   1년 전

6

-502 -80 -60 23 100 1002   (반례)

코드 수정 그러나, 런타임에러

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