Programmazione competitivaFacile

Selezione attività

Guida dettagliata e implementazione Python per il problema "Selezione attività".

Dichiarazione del problema

Facile

Scrivi una funzione activity_selection(start, end) che accetta due elenchi start e end che rappresentano gli orari di inizio e fine delle attività. Trovare il numero massimo di attività che possono essere eseguite da una singola persona, assumendo che una persona possa lavorare solo su una singola attività alla volta. Due attività non si sovrappongono se l'ora di inizio della seconda è maggiore o uguale all'ora di fine della prima.

Vincoli
  • 1 <= len(start) == len(end) <= 10^5
  • 0 <= start[i] < end[i] <= 10^9

Esempi

Example 1
Input
activity_selection([1, 3, 0, 5, 8, 5], [2, 4, 6, 7, 9, 9])
Output
4
Explanation

A person can perform at most 4 activities: [1,2], [3,4], [5,7], and [8,9].

Example 2
Input
activity_selection([10, 12, 20], [20, 25, 30])
Output
2
Explanation

Two activities can be performed: [10,20] and [20,30].

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