1004 最大連續1的個數 III

2021-10-19 13:38:37 字數 528 閱讀 4755

自己的做法很麻煩並且時間複雜度高,最壞o(n

2)

o(n^2)

o(n2

)原因是沒有想到去數學推導,一步一步去想很費勁,,,應該改掉這個毛病。

想到了二分的做法,但是寫麻煩了,首先統計了所有0塊所在的初始位置和個數,記為陣列a,然後遍歷所有的地方去填充0,這個時候就不能方便的從a中得到填充到哪為止,從而陷入了困境。

科學的做法,參造官方:

滑動視窗,時間複雜度o(n

)o(n)

o(n)

class solution 

int res=-1;

for(int i=n-1;i>=0;i--)

printf("%d\n",res);

return res;

}};

class solution 

ans=max(ans,right-left+1);

}return ans;

}};

1004 最大連續1的個數 III

題目描述 給定乙個由若干 0 和 1 組成的陣列 a,我們最多可以將 k 個值從 0 變成 1 返回僅包含 1 的最長 連續 子陣列的長度。示例 1 輸入 a 1,1,1,0,0,0,1,1,1,1,0 k 2 輸出 6 解釋 1,1,1,0,0,1,1,1,1,1,1 粗體數字從 0 翻轉到 1,...

1004 最大連續1的個數III

題目描述 給定乙個由若干 0 和 1 組成的陣列 a,我們最多可以將 k 個值從 0 變成 1 返回僅包含 1 的最長 連續 子陣列的長度。示例 1 輸入 a 1,1,1,0,0,0,1,1,1,1,0 k 2 輸出 6 解釋 1,1,1,0,0,1,1,1,1,1,1 粗體數字從 0 翻轉到 1,...

1004 最大連續1的個數 III

示例 1 輸入 a 1,1,1,0,0,0,1,1,1,1,0 k 2 輸出 6 解釋 1,1,1,0,0,1,1,1,1,1,1 粗體數字從 0 翻轉到 1,最長的子陣列長度為 6。示例 2 輸入 a 0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1 k 3 輸出 10 ...