zoukankan      html  css  js  c++  java
  • 双指针算法_最长连续不重复子列长度

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

    输入格式

    第一行包含整数n。

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

    输出格式

    共一行,包含一个整数,表示最长的不包含重复数字的连续子序列的长度。

    数据范围

    1n1000001≤n≤100000

    输入样例:

    5
    1 2 2 3 5
    

    输出样例:

    3
    
     
    ijij
    1
    j s[j]--j
     
    #include <iostream>//
     
    using namespace std;//
     
    const int N = 100010;//
     
    int n;
    int q[N], s[N];//q,s[i]以q[i]
     
    int main()
    {
      scanf("%d", &n);
      for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]);//
     
      int res = 0;
      for (int i = 0, j = 0; i < n; i ++ )
      {
      s[q[i]] ++ ;//放q[i]
      while (j < i && s[q[i]] > 1) s[q[j ++ ]] -- ;//
      res = max(res, i - j + 1);
    }
     
      cout << res << endl;
     
      return 0;
    }
     
  • 相关阅读:
    jqyery dataTable 基本用法
    linux 下两台电脑之间ssh无密码连接
    javascript 高级程序设计 十二
    javascript 高级程序设计 十一
    javascript 高级程序设计 十
    小程序笔记
    表单提交 fastadmin form
    fastadmin表单验证
    sbadmin表单事件
    fastadmin模态框(弹出框)
  • 原文地址:https://www.cnblogs.com/WAsbry/p/13585122.html
Copyright © 2011-2022 走看看