Menu
CoddyTech

Minimum Size Subarray Sum

양의 정수 target과 양의 정수 배열 nums가 주어집니다. 합이 target 이상인 가장 짧은 부분 배열(서로 이웃한 원소들의 연속 구간)을 찾아 그 길이를 반환하세요. target에 도달하는 부분 배열이 없으면 0을 반환하세요.

함수

minSubArrayLen(target: integer, nums: integer-array) → integer
targetinteger
부분 배열의 합이 도달하거나 초과해야 하는 값
numsinteger-array
양의 정수 배열
반환값integer
합이 target 이상인 가장 짧은 부분 배열의 길이 또는 해당 배열이 없으면 0

제약 조건

  • 1 ≤ target ≤ 109
  • 1 ≤ nums.length ≤ 2 × 104
  • 1 ≤ nums[i] ≤ 104

예제

입력
target = 15nums = [4, 2, 9, 3, 7, 1, 5]
출력
3
설명
인접한 두 수의 합은 15에 도달하지 않습니다. 가장 큰 쌍의 합은 9 + 3 = 12입니다. 세 수를 더하면 도달합니다. 4 + 2 + 9 = 15이고 9 + 3 + 7 = 19이므로 답은 3입니다.

lock icon제출 시 숨은 테스트 +16개

challenge icon

후속 질문

nums에 0과 음수도 포함될 수 있어 슬라이딩 윈도우가 더 이상 작동하지 않는다면 어떻게 해결하시겠어요?

코드 초기화
def minSubArrayLen(target, nums):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

target = 15
nums = [4, 2, 9, 3, 7, 1, 5]

기대값

3