C++窗口问题

最大连续1的个数

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
char a[10010]={0};
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	int j=0;
	int ma=-1;
	for(int i=0;i<=n;i++)
	{
		if(a[i]=='0'&&m>0)
		{
			m--;
		}
		else if(a[i]=='0'&&m==0)
		{
			while(a[j]=='1')
			{
				j++;
			}
			j++;
		}
		if(i==n)ma=max(ma,i-j);
		else ma=max(ma,i-j+1);
	}
	cout<<ma;
	
	
	return 0;
}
相关推荐
程序员阿鹏几秒前
SpringBoot自动装配原理
java·开发语言·spring boot·后端·spring·tomcat·maven
彭世瑜3 分钟前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
RAY_01044 分钟前
Python—数据可视化pyecharts
开发语言·python
徐同保5 分钟前
n8n+GPT-4o一次解析多张图片
开发语言·前端·javascript
春日见8 分钟前
如何跑通,吃透一个开源项目?
linux·运维·开发语言·数码相机·matlab
技术净胜13 分钟前
MATLAB数据清洗流程包含:缺失值处理/异常值检测/重复值删除
开发语言·matlab
SmoothSailingT14 分钟前
C#——textBox控件(1)
开发语言·c#
元亓亓亓15 分钟前
LeetCode热题100--763. 划分字母区间--中等
算法·leetcode·职场和发展
Dream it possible!15 分钟前
LeetCode 面试经典 150_回溯_全排列(100_46_C++_中等)
c++·leetcode·面试·回溯
鹿角片ljp15 分钟前
力扣206.反转链表-双指针法(推荐)
算法·leetcode·链表