Stáhněte aplikaci
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Vyberte největší nepřekrývající se podmnožinu do 64 polootevřených intervalů s celočíselnými konci v ±10^9. Otestujte doteky a stejné konce, odmítněte nulovou délku a vraťte původní indexy bez změny vstupu.
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Zvolte kompatibilní endpoint. Dostupné nástroje a kvalita odpovědí závisí na nastaveném modelu a serveru.
Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
def interval_selection(intervals):
if type(intervals) is not list or len(intervals) > 64:
raise ValueError("schedule.input")
ordered = []
for index, pair in enumerate(intervals):
if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int or abs(x) > 10**9 for x in pair):
raise ValueError("schedule.pair")
start, end = pair
if start >= end:
raise ValueError("schedule.interval")
ordered.append((end, start, index))
selected, last = [], None
for end, start, index in sorted(ordered):
if last is None or start >= last:
selected.append(index)
last = end
return selected
Před použitím zkontrolujte. Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.