Programação CompetitivaFácil

Seleção de atividades

Guia detalhado e implementação de Python para o problema de 'Seleção de atividades'.

Declaração do problema

Fácil

Escreva uma função activity_selection(start, end) que receba duas listas start e end representando os horários de início e término das atividades. Encontre o número máximo de atividades que podem ser realizadas por uma única pessoa, assumindo que uma pessoa só pode trabalhar em uma única atividade por vez. Duas atividades não se sobrepõem se o horário de início da segunda for maior ou igual ao horário de término da primeira.

Restrições
  • 1 <= len(start) == len(end) <= 10^5
  • 0 <= start[i] < end[i] <= 10^9

Exemplos

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?
Considere o uso de estruturas de dados específicas do Greedy, 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.