코딩테스트
[leetcode] 1493. Longest Subarray of 1's After Deleting One Element
nayoon
2024. 6. 25. 07:28
1004 문제와 동일한 방식으로 풀었고 Sliding Window를 이용해서 풀되 하나의 요소를 삭제하면 더 긴 subarray를 만들 수 있기 때문에 조건을 잘 체크해야한다.
개인적으로는 1493번을 먼저 풀고 1004번을 푸는 것이 좋을 것 같다.
class Solution {
public int longestSubarray(int[] nums) {
int num = 0;
int start = 0;
int index = 0;
int max = 0;
while(index < nums.length) {
if (nums[index] == 0) {
if (num == 1) {
while(nums[start++] == 1) {}
} else {
num += 1;
}
}
index += 1;
if (index - start > max) {
max = index - start;
}
}
if (max == 0) {
return max;
}
return max - 1;
}
}