https://leetcode.com/problems/minimum-size-subarray-sum/description
Q. 주어진 정수 배열 nums에 대해서 그 sub array 합이 target보다 크거나 같은, 최소 subarray 길이를 찾아라.

Solution
푸는 과정이 sliding window라는 것을 알면 쉬운 문제.
윈도우의 합이 target이상인 구간에서 길이를 최소 길이로 갱신하고,
left 를 당기며 구간 합에서 left를 제거한다.
위 로직의 연속.
public int MinSubArrayLen(int target, int[] nums)
{
int left = 0;
int right = 0;
int sum = 0;
int minLen = int.MaxValue;
for(; right < nums.Length; ++right)
{
sum += nums[right];
while(sum >= target)
{
minLen = Math.Min(minLen, right-left+1);
sum -= nums[left++];
}
}
return minLen==int.MaxValue ? 0 : minLen;
}
적절한 결과.

'Leetcode > Top Interview 150' 카테고리의 다른 글
| [Matrix][Medium] 36. Valid Sudoku (0) | 2024.05.04 |
|---|---|
| [Sliding Window][Hard] 30. Substring with Concatenation of All Words (0) | 2024.05.04 |
| [Two Pointers][Medium] 167. Two Sum II - Input Array is Sorted. (0) | 2024.05.03 |
| [Two Pointers][Easy] 125. Valid Palindrome (0) | 2024.05.03 |
| [Array/String][Hard] 68. Text Justification (0) | 2024.05.03 |