首页 > 代码库 > UVa 11572 唯一的雪花
UVa 11572 唯一的雪花
https://vjudge.net/problem/UVA-11572
题意:输入一个长度为n的序列A,找到一个尽量长的连续子序列,使得该序列中没有相同的元素。
思路:很简单的题,也没啥好解释的了。
#include<iostream> #include<set>using namespace std;const int maxn = 1000000 + 5;int a[maxn];int n;int maxd;void solve(){ set<int> num; int L = 0, R = 0; maxd = 0; int ans = 0; while (R < n) { if (!num.count(a[R])) { ans++; num.insert(a[R]); R++; if (ans>maxd) maxd = ans; } else { num.erase(a[L]); ans--; L++; } }}int main(){ //freopen("D:\\txt.txt", "r", stdin); int t; cin >> t; while (t--) { cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; } solve(); cout << maxd << endl; } return 0;}
UVa 11572 唯一的雪花
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。