Le migliori 150 intervisteFacile

Flotta auto

Guida dettagliata e implementazione Python per il problema "Flotta auto".

Dichiarazione del problema

Facile

Ci sono auto n dirette alla stessa destinazione lungo una strada a una corsia. La destinazione è a target miglia di distanza.

Ti vengono forniti due array di numeri interi position e speed, entrambi di lunghezza n, dove position[i] è la posizione della iesima macchina e speed[i] è la velocità della iesima macchina (in miglia all'ora).

Un'auto non può mai superare un'altra macchina che la precede, ma può raggiungerla e spingersi da un paraurti all'altro alla stessa velocità. L'auto più veloce rallenterà per eguagliare la velocità dell'auto più lenta. La distanza tra queste due auto viene ignorata (si presuppone che siano nella stessa posizione).

Una flotta di automobili è un insieme non vuoto di automobili che circolano nella stessa posizione e alla stessa velocità. Una singola auto è anche una flotta di auto.

Restituisce il numero di flotte di auto che arriveranno a destinazione.

Scrivi una funzione carFleet(target: int, position: List[int], speed: List[int]) -> int.

Vincoli
  • 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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche dello stack come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'editor
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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.