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;
    }
     
  • 相关阅读:
    eclipse安装WTP部署WEB项目
    BZOJ3302: [Shoi2005]树的双中心
    BZOJ2059: [Usaco2010 Nov]Buying Feed 购买饲料
    BZOJ1986: [USACO2004 Dec] Dividing the Path 划区灌溉
    BZOJ3126: [Usaco2013 Open]Photo
    51nod1486 大大走格子
    BZOJ1698: [Usaco2007 Feb]Lilypad Pond 荷叶池塘
    BZOJ2590: [Usaco2012 Feb]Cow Coupons
    BZOJ1739: [Usaco2005 mar]Space Elevator 太空电梯
    BZOJ2501: [usaco2010 Oct]Soda Machine
  • 原文地址:https://www.cnblogs.com/WAsbry/p/13585122.html
Copyright © 2011-2022 走看看