C - CopyCopyCopyCopyCopy

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
题意:进行排序,把重复的删掉就行了

#include <iostream>
#include <string.h>//用sort需要的
#include <algorithm>
using namespace std;
int main()
{
    
    
	int n,t;
	long long a[200000];
   scanf("%d",&t);
   while(t--)
   {
    
    
   	scanf("%d",&n);
   	for(int i=1;i<=n;i++)
   	{
    
    
   		scanf("%lld",&a[i]);
    }
    sort(a+1,a+n+1);//+1表示从a[1]开始,否则是从a[0]开始
    int sum=0;
    for(int i=1;i<=n-1;i++)//i<=n-1,因为有a[i+1],由于是多组输入,有t组,上一次的个数如果比这次得多,上一次的数会保留,不会是默认的0了
    {
    
    
    	if(a[i]==a[i+1])
    	sum++;
	}
	printf("%d\n",n-sum);
   }
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_51713993/article/details/113873457
C