찾다

 >  Q&A  >  본문

javascript - 파이썬 작은 알고리즘

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

으아악

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

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

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

曾经蜡笔没有小新曾经蜡笔没有小新2769일 전1182

모든 응답(3)나는 대답할 것이다

  • typecho

    typecho2017-06-15 09:23:43

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

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-06-15 09:23:43

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

    으아악

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-15 09:23:43

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

    으아악

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

    회신하다
    0
  • 취소회신하다