3 条题解

  • 1
    @ 2025-11-24 17:44:47
    #include <stdio.h>
    #include <algorithm>
    #include <iostream>
    using namespace std;
    int main(){
        int t;
        cin>>t;
        while(t--){
            int n,i=0,cnt=0;
            cin>>n;
            int a[101];
            while(i<n){
                cin>>a[i];
                i++;
            }
            sort(a,a+n);
            for(i=0;i<n;i++){
                if(a[i]!=a[i+1])cnt++;
            }
            printf("%d\n",cnt);
            for(i=0;i<n;i++){
                if(a[i]!=a[i+1])printf("%d ",a[i]);
            }
            printf("\n");
        }
    }
    
    • 0
      @ 2024-12-26 20:08:15
      #include<bits/stdc++.h>
      using namespace std;
      
      void quchong(int arr[],int mx,int length)
      {
      	int i,sum;
      	sum = length;
      	int *buckets;
      	buckets = (int *)malloc(sizeof(int)*(mx+1));//给桶分配空间
      	memset(buckets,0,sizeof(int)*(mx+1));//给桶里面的值全部赋值为零
      	for(i=0;i<length;i++)
      	{
      		buckets[arr[i]]++;//进行去重
      		if(buckets[arr[i]]>=2)
      		{
      			sum--;
      		}
      	}
      	cout<<sum<<endl;
      	// 输出去重之后的值
      	for(i=0;i<=mx;i++)
      	{
      		if(buckets[i])
      		{
      			cout<<i<<" ";
      		}
      	}
      }
      int main()
      {
      	int t,n,i;
      	cin>>t;//实验的测试样例的个数
      	while(t--)
      	{
      		cin>>n;//需要生成随机数的个数
      		int arr[n];
      		//srand(time(NULL));//建立时间种子,生成随机数的种子
      		for(i=0;i<n;i++)
      		{
      			cin>>arr[i];
      		}
      		//生成之后进行排序
      		sort(arr,arr+n);//升序排列,这是快速排序
      		//使用桶排序进行去重
      		quchong(arr,arr[n-1],n);
      		cout<<endl;
      	}
      }
      
      • 0
        @ 2023-11-14 21:00:03
        #include<stdio.h>
        #include<algorithm>
        #include<string.h>
        using namespace std;
        int a[100000];
        int box[100000];
        int main()
        {
        	int t;
        	scanf("%d",&t);
        	while(t--)
        	{
        		int n;
        		scanf("%d",&n);
        		int cnt=n;
        		memset(box,0,sizeof(box));
        		for(int i=0;i<n;i++)
        		{
        			scanf("%d",&a[i]);
        			box[a[i]]++;
        			if(box[a[i]]>1)
        			{
        			cnt--;	
        			a[i]=-1;
        			}
        			
        		}
        		for(int i=0;i<n;i++)
        		sort(a,a+n);
        		printf("%d\n",cnt);
        		for(int i=0;i<n;i++)
        		{
        			if(a[i]!=-1)
        			printf("%d ",a[i]);
        		}
        			 printf("\n");
        } 
        }
        
        
        • 1

        信息

        ID
        190
        时间
        3000ms
        内存
        128MiB
        难度
        7
        标签
        (无)
        递交数
        813
        已通过
        217
        上传者