150 najlepszych wywiadówŁatwe

Flota samochodowa

Szczegółowy przewodnik i implementacja Python dla problemu „Flota samochodowa”.

Oświadczenie o problemie

Łatwe

Na drodze jednopasmowej jedzie n samochodów do tego samego miejsca docelowego. Miejsce docelowe jest oddalone o target mil.

Otrzymasz dwie tablice liczb całkowitych position i speed, obie o długości n, gdzie position[i] to pozycja itego samochodu, a speed[i] to prędkość itego samochodu (w milach na godzinę).

Samochód nigdy nie wyprzedzi innego samochodu przed sobą, ale może go dogonić i jechać zderzak w zderzak z tą samą prędkością. Szybszy samochód zwolni, aby dopasować prędkość wolniejszego samochodu. Odległość między tymi dwoma samochodami jest ignorowana (zakłada się, że znajdują się one w tym samym położeniu).

Flota samochodowa to niepusty zbiór samochodów jadących w tym samym miejscu i z tą samą prędkością. Pojedynczy samochód to także flota samochodowa.

Zwróć liczbę flot samochodowych, które dotrą do miejsca docelowego.

Napisz funkcję carFleet(target: int, position: List[int], speed: List[int]) -> int.

Ograniczenia
  • n == len(position) == len(speed)
  • 1 <= n <= 10^5
  • 0 < target <= 10^6
  • 0 <= position[i] < target
  • 0 < speed[i] <= 10^6
  • All positions are unique

Przykłady

Example 1
Input
target = 12, position = [10, 8, 0, 5, 3], speed = [2, 4, 1, 1, 3]
Output
3
Explanation

Cars at positions 10 and 8: car at 8 catches car at 10 (both arrive at time 1), forming 1 fleet. Car at 0: arrives at time 12. Car at 5: arrives at time 7. Car at 3: arrives at time 3, catches car at 5 at time 7, but car at 5 arrives at 7 too. Cars at 3 and 5 form a fleet. Total: 3 fleets.

Example 2
Input
target = 10, position = [3], speed = [3]
Output
1
Explanation

Only one car, so one fleet.

Example 3
Input
target = 100, position = [0, 2, 4], speed = [4, 2, 1]
Output
1
Explanation

All cars eventually form a single fleet.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla stosu, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.