Programowanie konkurencyjneŁatwe

Wybór aktywności

Szczegółowy przewodnik i implementacja Python dla problemu „Wybór działania”.

Oświadczenie o problemie

Łatwe

Napisz funkcję activity_selection(start, end), która pobiera dwie listy start i end reprezentujące czas rozpoczęcia i zakończenia działań. Znajdź maksymalną liczbę czynności, które może wykonać jedna osoba, zakładając, że dana osoba może jednocześnie pracować tylko nad jedną czynnością. Dwa działania nie nakładają się na siebie, jeśli czas rozpoczęcia drugiego jest większy lub równy czasowi zakończenia pierwszego.

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla Greedy, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.