다음과 같은 날짜 문자열 목록이 있습니다.
으아악 s = ['2017-06-09']
与lst
에서 가장 유사한 날짜 문자열을 찾아보세요
아이디어 1: s와 lst의 값을 날짜로 변환하고 초 차이를 순회하여 비교하면 가장 작은 것이 찾고 있는 날짜 문자열입니다.
이를 달성하는 더 좋은 방법이 있습니까? ?
typecho2017-06-15 09:23:43
참고용으로 아이디어 하나 드리겠습니다
lst.append(s)
lst.sort()
num=lst.index(s)
그런 다음 lst[num-1]과 lst[num+1]을 비교해보세요. 초 수의 차이가 결과이므로 타임스탬프를 탐색하고 계산할 필요가 없습니다.
좋다고 생각하시면 장가에게 선물해주시고 입양해주세요.
伊谢尔伦2017-06-15 09:23:43
lz는 정렬이든 뺄셈이든 실제로는 순회하지 않는다는 뜻인 것 같아요
이분법을 사용해야 한다는 뜻이겠죠
그냥 의사 코드로 읽으세요. 어쨌든 그런 의미입니다. 이렇게 하면 순회 횟수가 가장 적습니다.