leetcode 1004. 最大连续1的个数 III(滑动窗口)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 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,最長的子數組長度為 6。
維護一個0個數小于k的滑動窗口,找出最大的窗口
代碼
class Solution {public int longestOnes(int[] A, int K) {int l=0,r=0,n=A.length,cnt=0,res=0;while (r<n){if(A[r]==0) cnt++;while (cnt>K){if(A[l++]==0)cnt--;}res= Math.max(res,r-l+1);r++;}return res;} }總結
以上是生活随笔為你收集整理的leetcode 1004. 最大连续1的个数 III(滑动窗口)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 995. K 连续位的
- 下一篇: leetcode 697. 数组的度(h