3 条题解

  • 1
    @ 2024-2-7 19:25:57

    可以直接用unique函数去重

    #include <bits/stdc++.h> 
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        int a[n+5];
        for(int i = 0; i < n; i++)
        {
            cin >> a[i];
        }
        sort(a, a+n);//先排序
        int num = unique(a, a+n) - a;//用unique把重复的数字排到数组末尾,再记录没有重复数字的数量
        cout<<num<<endl;
        for(int i = 0; i < num; i++)//输出没有重复的
        {
            cout << a[i] << endl;
        }
        return 0;
    }
    
    • 1
      @ 2023-1-20 18:47:23

      直接复制,不要多说。

      #include <bits/stdc++.h>
      using namespace std;
      int n,a[101],num=0;
      int main()
      {
          cin >> n;
          for(int i=1;i<=n;i++)
          {
              cin >> a[i];
          }
          sort(a+1,a+n+1);
          for(int i=2;i<=n;i++)
          {
              if(a[i]==a[i-1])
              {
                  continue;
              }
              num++;
          }
          cout << num+1 << endl;
          for(int i=1;i<=n;i++)
          {
              if(a[i]==a[i-1])
              {
                  continue;
              }
              cout << a[i] << endl;
          }
      }
      
      • 0
        @ 2024-3-3 9:57:57

        简直就是为set量身定制的

        #include <bits/stdc++.h>
        using namespace std;
        set<int> s;
        set<int> ::iterator it;
        int main(){
        	int n,x;
        	cin>>n;
        	for(int i=1;i<=n;i++){
        		cin>>x;
        		s.insert(x);
        	}
        	cout<<s.size()<<endl;
        	for(it=s.begin();it!=s.end();it++){
        		cout<<*it<<endl;
        	}
        	return 0;
        }
        
        • 1

        信息

        ID
        183
        时间
        1000ms
        内存
        16MiB
        难度
        1
        标签
        递交数
        66
        已通过
        48
        上传者