UVA11572
UVA11572 唯一的雪花 Unique Snowflakes
这题题目有迷惑性,我一开始以为用set过一遍互异性求size就行,结果是选最长无重复连续子区间。。。
不过反应过来以后一遍过了,真不戳
点击查看代码
#include<bits/stdc++.h>
using namespace std;
void solve() {
int n; cin >> n;
vector<int>a(n+1);
unordered_map<int, int>mp;
for(int i = 1; i <= n; i++){
cin >> a[i];
}
int l = 1, r = 1;
int maxn = 1;
while(l <= r || r <= n) {
while(mp[a[r]] == 0 && r <= n) {
mp[a[r]] = 1;
r++;
}
maxn = max(maxn, r - l);
mp[a[l]] = 0;
l++;
}
cout << maxn <<'\n';
}
int main() {
int t;cin >> t;
while(t--) {
solve();
}
return 0;
}

浙公网安备 33010602011771号