AI 코딩 작업 공간
연속 구간의 최대 합
절댓값이 10억 이하인 정수 최대 1000개에서 최대 연속 합을 찾아 합과 끝 제외 경계를 반환합니다.
● ● ●SpanKestrel●
작업 흐름 · 연속 구간의 최대 합 ×
def maximum_subarray(values):
if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
raise ValueError("subarray.input")
if not values:
return None
best = None
total, start = 0, 0
for end, value in enumerate(values, 1):
if total < 0:
total, start = 0, end - 1
total += value
candidate = (total, start, end)
if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
best = candidate
return best✳절댓값이 10억 이하인 정수 최대 1000개에서 최대 연속 합을 찾아 합과 끝 제외 경계를 반환합니다.
✓ 변경 사항적용하기 전에 검토하세요 ↗
작업 공간 예시 화면
- 모델
- 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.
- 프로젝트
- 모두 음수인 경우와 빈 입력을 검사하며 동점은 이른 시작 다음 이른 끝으로 결정합니다.
- 적용하기 전에 검토하세요
- 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
작업 흐름
def maximum_subarray(values):
if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
raise ValueError("subarray.input")
if not values:
return None
best = None
total, start = 0, 0
for end, value in enumerate(values, 1):
if total < 0:
total, start = 0, end - 1
total += value
candidate = (total, start, end)
if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
best = candidate
return best