首页 > 其他分享 >12.Acwing基础课第799题-简单-最长连续不重复子序列

12.Acwing基础课第799题-简单-最长连续不重复子序列

时间:2023-08-25 21:33:12浏览次数:37  
标签:12 int res 重复子 799 ++ 序列 最长

12.Acwing基础课第799题-简单-最长连续不重复子序列

题目描述

给定一个长度为 n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。

输入格式

第一行包含整数 n。

第二行包含 n个整数(均在 0∼1050∼105 范围内),表示整数序列。

输出格式

共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。

数据范围

1≤n≤100000,

输入样例

5
1 2 2 3 5

输出样例

3

思路解析:

算法:双指针

代码:

#include <iostream>

using namespace std;

const int N = 100010;

int n;
int a[N], s[N];//s[N]表示a[N]出现的次数

int main()
{
    cin >> n;
    
    for(int i = 0; i < n; i ++ ) cin >> a[i];//输入n个数保存在a[i]中

    int res = 0;//res用来记录当前找到的最长不重复子数组的长度
    for (int i = 0, j = 0; i < n; i ++ )
    {
        s[a[i]] ++ ;//新加入一个元素a[i],重复数出现,必然是a[i]
        while (s[a[i]] > 1)
        {
            //出负数出现,将左标记右移,右移后左边的数排除在外
            s[a[j]]--;
            j++;
        }
       
        res = max(res, i - j + 1);//与当前长度对比
    }

    cout << res << endl;

    return 0;
}

标签:12,int,res,重复子,799,++,序列,最长
From: https://www.cnblogs.com/codemagiciant/p/17658003.html

相关文章

  • CF1712A的题解
    挺简单的一道题。要想使\(\sum\limits^k_{i=1}p_i\)最小,很明显的,前\(k\)个数必须为\(1\simk\)。设\(c_i\)为\(i\)在\(p\)里出现的位置,则答案为\(\sum\limits^{k}_{i=1}[c_i>k]\)。#include<cstdio>intt;intn,k;inta[110],c[110];intans;intmain(){ sca......
  • leetcode1260
    这是一道模拟题刚开始准备纯模拟,而后在题解看到一维压缩,才发现其实是将矩阵按行展开后进行k次右移操作。转换成一维后,难点就在转换坐标:行号=idx/列数;列号=idx%列数; ......
  • 12个项目进度跟踪管理的有效方法
    做好项目进度跟踪管理的12个方法:1.决定你的项目进展跟踪方法;2.将项目跟踪视为整个团队的共同努力;3.使用正确的项目跟踪工具;4.确定项目目标并坚持执行;5.使用清单和里程碑;6.让项目干系人了解进展;7.优先考虑有效沟通;8.定期举办项目更新会议;9.建立明确的项目和任务截止日期;10.通过......
  • 用友U8V12.1软件在win10上跳过环境检测成功安装的方法和教程
    https://www.bilibili.com/read/cv19294879/https://www.yyrjxz.com/hf/u8hf.html用友U8+V12.1软件是不支持在win10系统上安装的,原因是环境检测时,iewebcontrols这一项通过不,不管怎么安装都不行,那么怎么在win10上跳过环境检测,让用友U8+V12.1能够安装在win10系统上呢?且看用友小辣......
  • debian 12 source
    cat<<EOF>/etc/apt/sources.list#https://mirror.tuna.tsinghua.edu.cn/help/debian/#默认注释了源码镜像以提高aptupdate速度,如有需要可自行取消注释debhttps://mirrors.tuna.tsinghua.edu.cn/debian/bookwormmaincontribnon-freenon-free-firmware#deb-srch......
  • 测试DE10-Standard开发板VGA接口(基于ADV7123)输出RGB彩条时显示器显示“无信号”Signal
    SignalTap工具真的是一款非常非常实用的调试工具。最近想显示VGA 三色彩条(源码:基于友晶科技FPGA开发板DE2-115和DE10-STANDARD的VGA彩条显示设计(ADV7123)),引 脚分配和控制信号的设计都检查了  没有错误。也排除了VGA显示器故障(测试DE10-Standard\Demonstration\FPGA\D......
  • 【lc 412】Fizz buzz
    链接https://leetcode.cn/problems/fizz-buzz/description/分析没啥好分析的。。。注意他的下标是从1开始的,要把咱们自己的下标转换成虚拟下标。代码classSolution:deffizzBuzz(self,n:int):"""给你一个整数n,找出从1到n各个整数的FizzBu......
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:261-280)
    第261题以下关于IPv6过渡技术的描述,正确的是哪些项?A、转换技术的原理是将IPv6的头部改写成IPv4的头部,或者将IPv4的头部改写成IPv6的头部B、使用隧道技术,能够将IPv4封装在IPv6隧道中实现互通,但是隧道的端点需要支持双栈技术C、转换技术适用于纯IPv4网络与纯IPv6网络之间的通信,方......
  • Programming abstractions in C阅读笔记:p127-p129
    《ProgrammingAbstractionsInC》学习第51天,p127-p129,总结如下:一、技术总结1.stringlibrary掌握常用函数如strlen,strcpy用法。2.bufferoverflow(缓冲区溢出)(1)什么是buffer?p129,Arraysthatarepreallocatedandlateruseasarepositoryfordatacalledbuffers......
  • 12_结构体
    结构体结构体:将多种数据结构封装在一起形成新的结构每种数据结构都有自己独立的空间结构体关键字:struct结构体类型定义(声明)#include<stdio.h>structstu//定义结构体类型,系统不分配空间{intnum;//成员,不支持赋值charname[32];};intmain(inta......