码迷,mamicode.com
首页 > 其他好文 > 详细

1004. Max Consecutive Ones III

时间:2021-02-20 12:21:43      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:学习   public   滑动窗口   div   ges   rgba   return   turn   color   

仅供自己学习

思路:

又是滑动窗口的问题,只要right右移遇到0时就 count+1,当count+1> K时,就将left右移,当left遇到0时,就将count-1,当count=K时 left和right指向同一个位置,此时right再次右移重复上述步骤,直到right=A.size-1.

代码:

 1 class Solution {
 2 public:
 3     int longestOnes(vector<int>& A, int K) {
 4         int left=0,count=0;
 5         int maxlen=INT_MIN;
 6         int size=A.size();
 7         for(int i=0;i<size;++i){
 8             if(A[i]==0) ++count;
 9             while(count>K){
10                 if(A[left++]==0)--count;
11             } 
12             maxlen=max(maxlen,i-left+1);
13         }
14         return maxlen;
15     }
16 };

 

1004. Max Consecutive Ones III

标签:学习   public   滑动窗口   div   ges   rgba   return   turn   color   

原文地址:https://www.cnblogs.com/Mrsdwang/p/14417737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!