从n个数中找出一个字串,使得这个字串只有1个重复元素且重复次数为二,输出最短长度

#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define rush() int T;cin>>T;while(T--)
#define go(a) while(cin>>a)
#define ms(a,b) memset(a,b,sizeof a)
#define E 1e-8
#define debug(a) cout<<"*"<<a<<"*"<<endl
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> Pair;
const int inf=0x3f3f3f3f;
const int N=2e5+5;int n,m,t;int i,j,k;int a[N];map<int,int>mp;//记录上一次 a[i] 出现的位置int main()
{IOS; string s;rush(){int ans=inf;cin>>n; mp.clear();for(i=0;i<n;i++){cin>>a[i];}if(n==1){cout<<-1<<endl; continue;}for(i=0;i<n;i++){if(!mp.count(a[i]))mp[a[i]]=i;else {ans=min(ans,i-mp[a[i]]+1);mp[a[i]]=i;}}if(ans==inf) cout<<-1<<endl;else cout<<ans<<endl;}return 0;
}

C. Dominated Subarray(思维)相关推荐

  1. Educational Codeforces Round 76 (Rated for Div. 2) C. Dominated Subarray

    Dominated Subarray 题意:给n个数,找出这个数组中出现数字最多且仅出现一次的子区间,简单来想即首尾数字相同区间内各个字符不同. 自我反思:一道简单的思维题,就是理解题意挺费劲的. # ...

  2. Dominated Subarray

    Dominated Subarray Let's call an array t dominated by value v in the next situation. At first, array ...

  3. 【CodeForces 1257C --- Dominated Subarray】

    [CodeForces 1257C --- Dominated Subarray] Description Let's call an array t dominated by value v in ...

  4. Dominated Subarray[codeforces 1257C]题解

    Dominated Subarray[codeforces 1257C] CF-1257C(Dominated Subarray) 题目 输入 输出 题目大意 样例输入 样例输出 CF-1257C(D ...

  5. Codeforces 1257 C. Dominated Subarray

    Codeforces 1257 C. Dominated Subarray https://codeforces.com/contest/1257/problem/C 思路:从数组的开始将每个出现过的 ...

  6. Dominated Subarray CodeForces - 1257C

    贪心思想,确实自己做还是没有思路,看了别人的代码后豁然开朗 #include<bits/stdc++.h> using namespace std;const int maxn=2e5+1 ...

  7. codeforces 1257C Dominated Subarray

    题意就是找到一个最小的子区间使得这个区间中只有一个数的个数为2. AC代码: #include<cstdio> #include<cstring> #include<io ...

  8. Codeforces 1257C Dominated Subarray 题解

    博客观赏效果更佳 题意简述 定义"支配数组":长度>=2,且出现次数最多的那个数字唯一. 给定一个数组,请你求出这个数组中,长度最小的是"支配数组"的连续 ...

  9. Code force 1527C dominated subarray 题解

    题目大意: 给你一串数字:你就是要找出那串数字中首尾相同的某个子串,这样的子串可能存在多个,找出最小子段的长度 看一眼数据,如果暴力一点,复杂度是n^2;那就是两百万的计算量,而计算机一秒是一百多万, ...

最新文章

  1. 转载:识别圆环的一种思路
  2. 位运算判断奇偶数_位运算符判断奇偶
  3. SVM入门(八)松弛变量
  4. python一维数组合并_Python编程:如何将多个一维数组的元素交叉拼接成新的一维数组...
  5. (原創) 如何使用C++/CLI读/写jpg檔? (.NET) (C++/CLI) (GDI+) (C/C++) (Image Processing)
  6. 分区 主分区 和 扩展分区_等和分区
  7. 学习总结 java Iterator迭代器练习
  8. 计算机病毒能破坏u盘文件,[计算机病毒]快捷方式病毒(U盘文件变为快捷方式)...
  9. 开关电源和家电电源常用电磁兼容(EMC)执行标准
  10. html5 canvas图片反色
  11. 饭饭的Selenium+xlwt笔记
  12. vue实现伸缩菜单功能
  13. EXCEL的嵌套if及时间处理
  14. 因微信网页授权调整解决方案
  15. 使用hellocharts绘制折线图 并自定义Y轴
  16. python元组元素的提取_Python 元组拆包
  17. element-table表格分页多选
  18. 复爱合缘发布《白皮书》 传统恋爱仍是主流
  19. 【19调剂】华东师范大学计算机/软件工程非全日制调剂
  20. ubuntu开启TFTP服务和NFS服务

热门文章

  1. Multisim基础 网络名称 整理混乱的电路图
  2. 都市霓虹灯设计欣赏图鉴。
  3. sscanf函数使用详解
  4. 保证分布式系统数据一致性的6种方案
  5. 标准化考场自动校时同步时钟怎么调
  6. python美食推荐系统 菜谱管理系统 django框架 购物车 网站 MySQL数据库 源码下载 计算机毕业设计
  7. HDU 1863畅通工程(最小生成树)(prim算法)
  8. Unsupported top level event type onGestureHandlerStateChange dispatched
  9. 近期骗局频发,我们该如何保证自己的数字资产安全?
  10. 配置 Gitlab 公钥