2472: 愉快序列

题目描述
X星球的人最厌恶就是重复。尤其是别人说出的话,如果你马上就重复说这句话。就会让对方很不愉快。所以在X星球的书籍里的句子的字也要尽量不能重复,我们定义一个长度为n的数字序列A:如果[l, r]区间里的数字两两都不相等。那么我们就称这样一个序列为A序列的一个"愉快序列"。 现在给你一个序列,让你求它最长的"愉快序列"。输出它的长度(欢迎暴力)
输入
多样例测试
第一行输入一个T表示样例数(1<=T<=200)
对于每个样例:
第一行输入一个整数n (1<=n<=10^5)
第二行输入n个整数ai (0=<ai<=10^5)
输出
对于一个序列,输出它最长的"愉快序列"的长度。
样例输入
3
1
1
3
1 3 1
5
4 5 6 7 4
样例输出
1
2
4

直接暴力解,从后往前推,遇到相同的,下次推到相同的+1。

#include<stdio.h>
int main(){
     int t;
     scanf("%d",&t);
     while(t--){
     int p=-1,n,a[100010],count=0,max=1,begin=0;   
     scanf("%d",&n);
     for(int i=0;i<n;i++)
        {
     count=1;
     scanf("%d",&a[i]);
      for(int k=i-1;k>=begin;k--)
      {
      if(a[i]==a[k]){
      begin=k+1;
      break;
           }
           else count++;
     if(count>max)max=count;      
    }
    }
      printf("%d\n",max);
 }
    return 0;
 }

猜你喜欢

转载自blog.csdn.net/weixin_43731933/article/details/85145902