UVa #11572 Unique Snowflakes (例题8-7)
来源:互联网 发布:mac找不到windows系统 编辑:程序博客网 时间:2024/05/14 02:51
给出一个序列,要求找出一个最长的连续子序列,使得这个子序列中没有重复的元素。
连续、子序列、不重复,这些关键词都指向滑动窗口
用STL的set和map都会比较慢,我觉得自己写hash会快一些。以后有机会再回来写hash版的吧
Run Time: 1.032s
#define UVa "LT8-7.11572.cpp"#include<cstdio>#include<vector>#include<cstring>#include<algorithm>#include<map>using namespace std;int main() { int T, n; scanf("%d", &T); for(int kase = 1; kase <= T; kase ++) { vector<long long> snowflakes; scanf("%d", &n); long long tmp; for(int i = 0; i < n; i ++) { scanf("%lld", &tmp); snowflakes.push_back(tmp); } map<long long, int> uniq; int l = 0, r = 0; int maxsize = 1; while(r < n) { int u = snowflakes[r]; if(uniq.count(u) && uniq[u] >= l && uniq[u] < r) { //repeated in current range. l = uniq[u] + 1; } uniq[u] = r; maxsize = max(maxsize, r - l + 1); r++; } printf("%d\n", maxsize); } return 0;}
0 0
- UVa #11572 Unique Snowflakes (例题8-7)
- 例题8-7 唯一的雪花(Unique snowflakes, UVa 11572)
- UVA 11572 - Unique Snowflakes
- UVA-11572-Unique snowflakes
- uva 11572 unique snowflakes
- UVa 11572 - Unique Snowflakes
- UVa 11572 Unique Snowflakes
- UVA 11572 - Unique Snowflakes
- Uva - 11572 - Unique Snowflakes
- uva 11572 Unique Snowflakes
- uva 11572 Unique Snowflakes
- uva 11572 Unique Snowflakes
- UVA - 11572 Unique Snowflakes
- UVa 11572 - Unique Snowflakes
- UVA 11572 Unique Snowflakes .
- UVA 11572 Unique Snowflakes
- UVA 11572 Unique Snowflakes
- Uva 11572 Unique snowflakes
- ZOJ Problem Set - 2176 Speed Limit
- 树结构练习——排序二叉树的中序遍历
- 以字节为单位显示变量的内存存储数据
- Eclipse连不上Android模拟器或Android设备的问题
- JS中的prototype
- UVa #11572 Unique Snowflakes (例题8-7)
- 仿QQ登录界面(PC端)=课堂实操
- CString 转换
- VC++ 修改计算机名称 SetComputerName
- 外连接消除、嵌套连接消除与连接消除
- JS--踏入姑娘家
- VC++ 得到计算机名和用户名 GetComputerName GetUserName
- 微软实习生日记 第二篇 微软实习生招聘指导手册
- VK Cup 2012 Qualification Round 2--E. Zebra Tower 离散化+优先队列