Drobná ukázka implementace vlastního řešení v rámci OPP.
Konzolová aplikace řeší úlohu pokrytí přímky minimálním počtem úseček.
Na vstupu dostane množinu úseček definovaných počátečním a koncovým bodem.
Na výstupu vrátí podmnožinu úseček, která:
- sjednocením pokryje maximální možnou část přímky,
- obsahuje minimální počet úseček nutných k zachování tohoto maximálního pokrytí.
- Line – datová struktura reprezentující úsečku (interval).
- LineCollector – uchovává všechny vstupní úsečky.
- OperationManager – obsahuje business logiku aplikace (validace vstupů, vyhodnocovací algoritmus). Interface + Impl class.
- LifeCycleManager – zajišťuje základní běh konzolové aplikace (singleton).
Každý řádek obsahuje dvojici hodnot: <start_usecky> <konec_usecky>. Ukončení vstupu je prázdný řádek.
1 5 / 1 2 / 2 6 / 4 7 / 8 10
1 5 / 4 7 / 8 10