javascript - 파이썬 작은 알고리즘
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-15 09:21:43
0
3
1167

다음과 같은 날짜 문자열 목록이 있습니다.

으아악

s = ['2017-06-09']lst에서 가장 유사한 날짜 문자열을 찾아보세요

아이디어 1: s와 lst의 값을 날짜로 변환하고 초 차이를 순회하여 비교하면 가장 작은 것이 찾고 있는 날짜 문자열입니다.

이를 달성하는 더 좋은 방법이 있습니까? ?

曾经蜡笔没有小新
曾经蜡笔没有小新

모든 응답(3)
typecho

참고용으로 아이디어 하나 드리겠습니다
lst.append(s)
lst.sort()
num=lst.index(s)
그런 다음 lst[num-1]과 lst[num+1]을 비교해보세요. 초 수의 차이가 결과이므로 타임스탬프를 탐색하고 계산할 필요가 없습니다.
좋다고 생각하시면 장가에게 선물해주시고 입양해주세요.

漂亮男人

-转换为整数, 再分别与s에서 날짜를 빼서 날짜를 빼는데 절대값이 가장 작은 숫자가 가장 가까운 날짜입니다.

으아악
伊谢尔伦

lz는 정렬이든 뺄셈이든 실제로는 순회하지 않는다는 뜻인 것 같아요
이분법을 사용해야 한다는 뜻이겠죠

으아악

그냥 의사 코드로 읽으세요. 어쨌든 그런 의미입니다. 이렇게 하면 순회 횟수가 가장 적습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿