Hdoj 2668 Daydream
来源:互联网 发布:impress.js demo 编辑:程序博客网 时间:2024/05/29 03:03
Hdoj 2668 Daydream
题目分析:最长不重复子串问题,数据规模较大,要求采用O(n)算法,用尺取法,定义两个指针,不断更新即可
#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cctype>#include<cstring>#include<cstdlib>using namespace std;char str[10000010];int n;int mark[150];int main() { int i,x,len,st,temp; while(cin>>n) { memset(mark,-1,sizeof(mark));//记录字符出现的位置 scanf("%s",str); len=temp=0;x=st=0; for(i=0;i<n;i++) { if(mark[str[i]]<st)//如果字符上次出现的位置不在区间内,则区间+1 temp++; else { if(temp>len) { len=temp; x=st; } st=mark[str[i]]+1;//新起点 temp=i-st+1;//新的区间长度 } mark[str[i]]=i; } if(temp>len) { len=temp; x=st; } //此时可能还有数据,最后一次判断 printf("%d %d %d\n",len,x,x+len-1); } return 0;}
阅读全文
0 0
- Hdoj 2668 Daydream
- Daydream(2668)
- daydream
- Daydream
- Daydream
- HDU 2668 Daydream(最长不重复子序列)
- HDU-2668(Daydream) 求最长的不重复子串
- HDU2668 Daydream
- 4.2 daydream
- daydream手柄
- 关于Andriod Daydream,Daydream学习方法,如何学习Google Daydream,Daydream实例
- Daydream for Unity體驗版發佈
- Daydream VR 开发
- Daydream 键盘来了
- DayDream模拟手柄操作
- Google DayDream VR开发
- DayDream简单分析(一)
- 谷歌 Daydream VR 开发工具
- golang开发环境安装
- FileSystemWatcher 的使用
- 2017年的阅读总结
- PTA一周练(第一周)记录
- 链表操作之删除重复元素
- Hdoj 2668 Daydream
- jzoj3577 [CEOI2011]Traffic 强连通分量缩点
- Java多线程系列--【基础篇07】- 线程休眠
- LeetCode小白菜笔记[8]:Remove Duplicates from Sorted Array
- leetcode 518. Coin Change 2 动态规划DP
- html5-服务端数据推送简记
- 成员变量与局部变量的区别:
- 2017-2018noip复习计划
- STM32启动过程解读与跟踪验证