2023年12月12日 星期二

[1493] Longest Subarray of 1's After Deleting One Element

嗯,之一是根據題意,最後還要多減一個一。

之二是,原來一個迴圈一次就只移動一次 r & l 嗎?!
然後都不用去算max 嗎XD 到底為什麼捏 QQ
說是跟 1004. Max Consecutive Ones III 題一樣 (k=1 , 並且回傳值減一)
但我當時就有一樣的疑問了哈哈哈~(痛哭)

int longestSubarray(int* nums, int numsSize) {
int r=0;
int l=0;
int max =0;
int k=1;
while (r < numsSize)
{
if (nums[r]==0)
k--;
if (k<0)
{
while (l<=r && nums[l]==1)
l++;
l++; // remove first 0 while nums[l] keep moving
k++;
}
if((r-l+1)> max)
max = r-l +1;
r++;
}
return max-1;
}

沒有留言:

張貼留言