Unique Snowflakes UVA - 11572
2017-08-14 20:05
405 查看
题目传送门
题意:给你一个序列,问你最长的连续序列里没有重复的数字
思路:这个题目其实就是一个尺取法的题目,用set来维护一下状态就可以了。
题意:给你一个序列,问你最长的连续序列里没有重复的数字
思路:这个题目其实就是一个尺取法的题目,用set来维护一下状态就可以了。
#include <algorithm> #include <cmath> #include <cstdio> #include <cstring> #include <fstream> #include <iostream> #include <list> #include <map> #include <queue> #include <set> #include <sstream> #include <stack> #include <string> #include <vector> #define MAXN 1000010 #define MAXE 210 #define INF 10000000 #define MOD 1000000007 #define LL long long #define pi acos(-1.0) using namespace std; int arr[MAXN]; set<int> Set; int main() { std::ios::sync_with_stdio(false); int T; cin >> T; for (int kase = 1; kase <= T; ++kase) { Set.clear(); int n; cin >> n; for (int i = 0; i < n; ++i) { cin >> arr[i]; } int max_length = 0; int left = 0, right = 0; while (right < n) { while (right < n && !Set.count(arr[right])) { Set.insert(arr[right]); right++; } max_length = max(max_length, right - left); if (right == n) break; Set.erase(arr[left]); left++; max_length = max(max_length, right - left + 1); } cout << max_length << endl; } return 0; } /* 1 5 1 2 3 2 1 */
相关文章推荐
- 例题8-7 唯一的雪花(Unique snowflakes, UVa 11572)
- 滑动窗口的实例学习 (Unique snowflakes, Uva 11572)
- UVa 11572 - Unique Snowflakes
- UVA 11572:Unique Snowflakes (尺取法)
- [UVa 11572] 唯一的雪花(Unique Snowflakes)
- UVa 11572 (滑动窗口) Unique Snowflakes
- 唯一的雪花(Unique snowflakes,UVa 11572)滑动窗口+set
- uva 11572 unique snowflakes——yhx
- UVA - 11572 Unique Snowflakes
- Uva11572 Unique Snowflakes【滑动窗口】【例题8-7】
- 11572 - Unique Snowflakes
- uva 11572 Unique Snowflakes
- uva 11572 unique snowflakes——yhx
- uva 11572 unique snowflakes——yhx
- uva 11572 ——Unique Snowflakes
- UVA 11572 Unique Snowflakes .
- uva11572 Unique Snow akes(入门级TwoPoint)
- UVa11572 - Unique Snowflakes(最长的不重复的子数组)
- uva 11572 Unique Snowflakes
- UVA11572 Unique Snowflakes(滑窗)