Sliding Window를 사용했고 0의 개수를 카운팅하면서 문제를 품.
시간 복잡도는 O(n)
class Solution {
public int longestOnes(int[] nums, int k) {
int num0 = 0;
int index = 0;
int start = 0;
int max = 0;
while(index < nums.length) {
if (nums[index] == 1) {
index += 1;
}
else {
if (num0 < k) {
num0 += 1;
index += 1;
} else {
while(nums[start++] == 1) {}
index += 1;
}
}
if (index - start > max) {
max = index - start;
}
}
return max;
}
}
'코딩테스트' 카테고리의 다른 글
[leetcode] 2352. Equal Row and Column Pairs (0) | 2024.06.26 |
---|---|
[leetcode] 1493. Longest Subarray of 1's After Deleting One Element (0) | 2024.06.25 |
[leetcode] 1456.Maximum Number of Vowels in a Substring of Given Length (0) | 2024.06.24 |
[leetcode] 2336. Smallest Number in Infinite Set (0) | 2024.06.18 |
[leetcode] 216. Combination Sum III (0) | 2024.06.15 |