主要解决求最长不重复子串问题
题解:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int z, l = 0, r = 0, sum = 0;
vector<int> vi;
cin >> z;
set<int> si;
while (z--)
{
int c;
cin >> c;
vi.push_back(c);
}
while (l < vi.size() && r < vi.size())
{
if (si.find(vi[r]) == si.end())
{
si.insert(vi[r++]);
sum = max(sum, r - l);
}
else si.erase(vi[l++]);
}
cout << sum;
}