算法板子

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int num[N];
int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; ++i) cin >> num[i];
    int l = 0, r = 0, res = 0;
    unordered_map<int, int> cnt;
    while (r < n) {
        if (cnt[num[r]] > 0) {
            while (l < r) {
                cnt[num[l]]--;
                if (num[l++] == num[r]) break;
            }
        }
        cnt[num[r]]++;
        res = max(res, r - l + 1);
        ++r;
    }
    cout << res << endl;
    return 0;
}
本文为原创文章,欢迎分享,勿全文转载,如果内容你实在喜欢,可以加入收藏夹,说不定哪天故事又继续更新了呢。
本文地址:https://qoogle.top/longest-not-repeated-subarray/
最后修改日期:2020年6月18日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。