앱 다운로드
폴더를 선택하고 편집하기 전에 관련 파일을 읽도록 요청하세요. 작업의 목표와 변경 범위를 명확히 정합니다.
끝점이 ±10^9 이내의 정수인 반열린 구간 최대 64개에서 겹치지 않는 최대 크기 부분집합을 선택합니다. 맞닿는 끝점과 같은 종료 시점을 시험하고 입력을 보존하며 원래 인덱스를 반환하면서 길이 0인 구간을 거부합니다.
폴더를 선택하고 편집하기 전에 관련 파일을 읽도록 요청하세요. 작업의 목표와 변경 범위를 명확히 정합니다.
호환되는 엔드포인트를 선택하세요. 사용 가능한 도구와 응답 품질은 설정한 모델과 서버에 따라 달라집니다.
변경 사항과 명령 출력을 검토하세요. 결과를 채택하기 전에 프로젝트 검사를 실행해야 합니다. 생성된 코드는 자동으로 테스트된 코드가 아닙니다.
실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
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
적용하기 전에 검토하세요. 변경 사항과 명령 출력을 검토하세요. 결과를 채택하기 전에 프로젝트 검사를 실행해야 합니다. 생성된 코드는 자동으로 테스트된 코드가 아닙니다.