最长01串
来源:互联网 发布:成为算法工程师 编辑:程序博客网 时间:2024/05/17 02:55
最长01串
Time Limit: 2666ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给定一个0-1串,请找到一个尽可能长的连续子串,其中包含的0与1的个数相等。
组数很多,注意常数优化。。。
输入
一个字符串,只包含01,长度不超过1000000
输出
一行一个整数,最长的0与1的个数相等的子串的长度。
示例输入
101111111010
示例输出
204
提示
来源
scf0920
示例程序
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<map> using namespace std; int a[1000][1000]; int vis[2000010]; char s[1000010]; int main() { while(~scanf("%s",s)) { int len=strlen(s); int sum=0,Max=0; memset(vis,-1,sizeof(vis)); for(int i=0; i<len; ++i) { if(s[i]=='1') sum++; if(s[i]=='0') sum--; if(sum==0) { Max=max(Max,i+1); continue; } if(vis[1000000+sum]==-1) vis[1000000+sum]=i; else { Max=max(i-vis[1000000+sum],Max); } } printf("%d\n",Max); } }
0 0
- 最长01串(贪心)
- 最长01串
- 最长01子串
- 最长01串(OJ--3308
- 最长01串 SDUT 3308
- [经典面试题]最长01子串
- 最长公共子串
- 最长公共子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长公共子串
- 最长公共子串
- 纯java时钟
- 如何评价rcnn、fast-rcnn和faster-rcnn这一系列方法?
- 选课大作战
- android studio 获取 应用签名(SHA1 MD5 )方法
- 你不得不读的书籍清单
- 最长01串
- spark源码编译
- matlab卷积相关
- Collatz问题
- UVA1595-对称轴
- 学习笔记(5)——文件压缩
- HLG 哈理工OJ 2074逃生
- Python 标准库 —— os 模块
- NOIP2015提高组Day2 子串