给定一个长度为n 的整数序列,请找出最长的不包含重复的数的连续区间长度。
#include <iostream> #include <unordered_map> using namespace std; const int N = 100010; int a[N]; unordered_map<int, int> mp; int main() { int n; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; int ans = 0; for (int i = 1, j = 1; j <= n; j++) { mp[a[j]]++; while (mp[a[j]] > 1) mp[a[i++]]--; ans = max (ans, j - i + 1); } cout << ans << endl; return 0; }
<span id="MathJax-Span-2" class="mrow"><span id="MathJax-Span-3" class="mi">n 的整数序列,请找出最长的不包含重复的数的连续区间长度。
标签:int,重复子,ans,序列,include,最长 From: https://www.cnblogs.com/leetothemoon/p/16939778.html