B. Yet Another Palindrome Problem-----------思维

B. Yet Another Palindrome Problem-----------思维_第1张图片
B. Yet Another Palindrome Problem-----------思维_第2张图片

题意:
给定一个字符串s,问你是否有长度大于等于3的回文串

解析:
只要找两个相同的数之间的距离>1 即可


#include<bits/stdc++.h>
using namespace std;
const int N=50005;
map<int,int> v;
int x;
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int n;
		v.clear();
		scanf("%d",&n);
		int f=0;
		for(int i=1;i<=n;i++)
		{
			cin>>x;
			//cout<
			if(v[x]==0)
			{
				v[x]=i;
			}
			else 
			{
				int p=i-v[x];
				if(p>1) f=1;
			}
		}
		if(f==1) cout<<"YES"<<endl;
		else cout<<"NO"<<endl;
	}
}

你可能感兴趣的:(思维,Codeforces)