Schedule Mode Builder
Otrzymują Państwo nieuporządkowaną listę zadań. Każde zadanie ma postać ciągu znaków, który zawiera początek i koniec zadania oraz widok "hh:mm-hh:mm". Zadania są unikalne. Funkcja musi zwrócić chronologicznie posortowaną, przefiltrowaną listę zadań, które można zaplanować bez nakładania się. W tym celu otrzymują Państwo również mode jako liczbę całkowitą, która określa zasadę wyboru nienakładających się zadań.
Tryby:
- 1: najwcześniejszy start spośród dostępnych, (jeśli kilka wariantów) najkrótszy czas trwania;
- 2: najwcześniejszy start spośród dostępnych, (jeśli kilka wariantów) najdłuższy czas trwania;
- 3: najdłuższy total czas trwania wybranych zadań, (jeśli kilka wariantów) większa liczba wykonanych zadań, (jeśli kilka wariantów) najwcześniej;
- 4większa liczba wykonanych zadań, (jeśli kilka wariantów) najdłuższy total czas trwania wybranych zadań, (jeśli kilka wariantów) najwcześniej.
Podczas animacji zadania są zawsze sortowane jako najwcześniejsze rozpoczęcie + najkrótszy czas trwania. Każde zadanie jest umieszczane w pierwszym "rzędzie", w którym nie pokrywa się z poprzednim zadaniem w "rzędzie". Jeśli bieżące zadanie pokrywa się ze wszystkimi istniejącymi "rzędami" - uruchamiany jest nowy "rząd". Na przykład,...