【算法】799. 最长连续不重复子序列

题目

799. 最长连续不重复子序列

思路

用两个指针,i在j的右边,初始时i=j=0,然后移动i,每移动一次就让s[a[i]]加上1,再判断是否有次数大于1,如果有就要移动j,并减少s[a[j]]的次数。

代码

cpp 复制代码
#include<iostream>
using namespace std;
const int N=100010;
int n;
int a[N],s[N];
int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int res=0;
    for(int i=0,j=0;i<n;i++)
    {
        s[a[i]]++;
        while(s[a[i]]>1)
        {
            s[a[j]]--;
            j++;
        }
        res=max(res,i-j+1);
    }
    cout<<res;
    return 0;
}
相关推荐
2401_8920709811 分钟前
链栈(链式栈) 超详细实现(C 语言 + 逐行精讲)
c语言·数据结构·链栈
minji...1 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
语戚2 小时前
力扣 968. 监控二叉树 —— 贪心 & 树形 DP 双解法递归 + 非递归全解(Java 实现)
java·算法·leetcode·贪心算法·动态规划·力扣·
skywalker_112 小时前
力扣hot100-7(接雨水),8(无重复字符的最长子串)
算法·leetcode·职场和发展
bIo7lyA8v3 小时前
算法稳定性分析中的输入扰动建模的技术9
算法
CoderCodingNo3 小时前
【GESP】C++三级真题 luogu-B4499, [GESP202603 三级] 二进制回文串
数据结构·c++·算法
sinat_286945193 小时前
AI Coding 时代的 TDD:从理念到工程落地
人工智能·深度学习·算法·tdd
炽烈小老头3 小时前
【 每天学习一点算法 2026/04/12】x 的平方根
学习·算法
ASKED_20193 小时前
从排序到生成:腾讯广告算法大赛 2025 baseline解读
人工智能·算法