효율적인 알고리즘 컴퓨팅을 위한 빠른 시간 내에 거리 간격

0

질문

를 알고 싶은 것이 있는 경우 효율적인 알고리즘을 권장 사항,는 빠르고 섭취하지 않습이 너무 많은 리소스 컴퓨팅을 위한 가장 빠른 간격의 거리에서의 시퀀스는 데이터입니다. 다시 말해서는 알고리즘을 반환합니다 최소한의 시간 간격으 n m,에서 데이터를 설정합니다.

예를 들어:

입력

  • data_list:[{거리:0,시간:0},{거리:1m 시간:2},{거리:4m 시간:4s}...{거리:10000m 시간:3600s}]
  • distance_interval:345m

출력

  • fastest_interval_start_distance:7655m
  • fastest_interval_end_distance:8000m
  • fastest_interval_time:n 초

감사

algorithm
2021-11-23 23:52:19
1

최고의 응답

0

나는 다음과 같은 솔루션가 있는 복잡한 시간을 실행하의 O(n). 의 도움으로 메모이 제이션을 피해 다시 계산하는 데이터는 이미 횡단.

그것에 의해 작동 하는 데 최소 인덱스와 최대 인덱스와 관련된 최소한의 시간입니다.

  1. 최소 인덱스 시작 인덱스 0,시간 0,fastest_interval_start_distance0
  2. 최대 인덱스가 할당되로 distance_interval 달성하고 fastest_interval_end_distance 포함한 거리 값에서 이러 인덱스
  3. 합계 시간의 차이는 데이터 항목에 저장되 fastest_interval_time
  4. 최소 인덱스와 최대 인덱스 시작으로 앞으로 이동거리 증가와 함께 각 데이터 항목입니다.
  5. 는 경우 합계 시간의 차이는 최소 및 최대 사이에 더 fastest_interval_time,현재 출력이 업데이트를 포함 fastest_interval_start_distance 및 fastest_interval_end_distance 및 fastest_interval_time
  6. 경우도 포함한 데이터를 설정이 비어 있거나 distance_interval 보다 큰 총리합니다. 감사합니다!
2021-11-24 02:13:06

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................