150 principais entrevistasFácil

Frota de automóveis

Guia detalhado e implementação de Python para o problema de 'Frota de Carros'.

Declaração do problema

Fácil

Existem n carros indo para o mesmo destino em uma estrada de pista única. O destino fica a target milhas de distância.

Você recebe duas matrizes inteiras position e speed, ambas de comprimento n, onde position[i] é a posição do i-ésimo carro e speed[i] é a velocidade do i-ésimo carro (em milhas por hora).

Um carro nunca pode ultrapassar outro carro à sua frente, mas pode alcançá-lo e dirigir pára-choque contra pára-choque na mesma velocidade. O carro mais rápido desacelerará para corresponder à velocidade do carro mais lento. A distância entre estes dois carros é ignorada (presume-se que estejam na mesma posição).

Uma frota de automóveis é um conjunto não vazio de carros dirigindo na mesma posição e na mesma velocidade. Um único carro também é uma frota de automóveis.

Retorne a quantidade de frotas de automóveis que chegarão ao destino.

Escreva uma função carFleet(target: int, position: List[int], speed: List[int]) -> int.

Restrições
  • 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

Exemplos

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?
Considere usar estruturas de dados específicas da pilha, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.