Le migliori 150 intervisteFacile

Intervalli non sovrapposti

Guida dettagliata e implementazione Python per il problema degli "intervalli non sovrapposti".

Dichiarazione del problema

Facile

Dato un array di intervalli intervals dove intervalli[i] = [starti, endi], restituisce il numero minimo di intervalli che è necessario rimuovere per fare in modo che il resto degli intervalli non si sovrapponga.

Scrivi una funzione eraseOverlapIntervals(intervals: List[List[int]]) -> int.

Vincoli
  • 1 <= len(intervals) <= 10^5
  • intervals[i].length == 2
  • -5 * 10^4 <= starti < endi <= 5 * 10^4

Esempi

Example 1
Input
intervals = [[1,2],[2,3],[3,4],[1,3]]
Output
1
Explanation

[1,3] can be removed and the rest are non-overlapping.

Example 2
Input
intervals = [[1,2],[1,2],[1,2]]
Output
2
Explanation

Remove two [1,2] to make the rest non-overlapping.

Example 3
Input
intervals = [[1,2],[2,3]]
Output
0
Explanation

Already non-overlapping.

Need a Hint?
Prendi in considerazione l'utilizzo di strutture dati specifiche per gli intervalli 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.