Menu
CoddyTech

Maximum Sum Subarray of Size K

정수 배열 nums와 윈도우 길이 k가 주어집니다. 서로 이웃한 원소가 정확히 k개인 모든 구간을 살펴보고, 그중 합이 가장 큰 값을 반환하세요. 값은 음수일 수 있으므로 답도 음수일 수 있습니다.

함수

maxSumSubarray(nums: integer-array, k: integer) → integer
numsinteger-array
정수 배열
kinteger
각 윈도우가 보유하는 이웃 요소의 수
반환값integer
연속된 k개 요소의 합 중 최댓값

제약 조건

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104

예제

입력
nums = [4, -1, 3, 7, -2, 5, 1]k = 3
출력
10
설명
길이가 3인 다섯 개의 윈도우의 합은 6, 9, 8, 10, 4입니다. 가장 큰 값은 7 + (-2) + 5 = 10입니다.
challenge icon

후속 질문

최적의 윈도우가 시작되는 위치도 반환할 수 있나요? 여러 윈도우의 결과가 같으면 가장 왼쪽에 있는 윈도우를 선택하세요.

코드 초기화
def maxSumSubarray(nums, k):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

nums = [4, -1, 3, 7, -2, 5, 1]
k = 3

예상 출력

10