首页 > 代码库 > UVa11572 Unique Snowflakes (滑动窗口)
UVa11572 Unique Snowflakes (滑动窗口)
链接:http://vjudge.net/problem/UVA-11572
分析:维护一个set即可。
1 #include <cstdio> 2 #include <algorithm> 3 #include <set> 4 using namespace std; 5 6 const int maxn = 1000000 + 5; 7 8 int n, a[maxn]; 9 10 int main() {11 int T;12 scanf("%d", &T);13 while (T--) {14 scanf("%d", &n);15 for (int i = 0; i < n; i++) scanf("%d", &a[i]);16 set<int> s;17 int L = 0, R = 0, ans = 0;18 while (R < n) {19 while (R < n && !s.count(a[R])) s.insert(a[R++]);20 ans = max(ans, R - L);21 s.erase(a[L++]);22 }23 printf("%d\n", ans);24 }25 return 0;26 }
UVa11572 Unique Snowflakes (滑动窗口)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。