4 条题解

  • 1
    @ 2024-6-7 21:30:00
    #include<iostream>
    using namespace std;
    int n,x,a[1005],ans;
    int main()
    {
        cin >> n;
        for(int i=1;i<=n;i++)
        {
            cin >> x;
            a[x]=1;
        }
        for(int i=1;i<=1000;i++)
        {
            if(a[i]!=0)
                ans++;
        }
        cout << ans << endl;
        for(int i=1;i<=1000;i++)
        {
            if(a[i]!=0)
                cout << i << " ";
        }
        return 0;
    }
    
    • 1
      @ 2023-10-18 18:29:17

      喜欢写暴力程序

      #include<iostream>
      #include<cstdio>
      #include<algorithm>
      using namespace std;
      int n,a[105],cnt;
      int main(){
          srand((int)time(0));
          scanf("%d",&n);
          for(int i=1;i<=n;i++) scanf("%d",&a[i]);
          sort(a+1,a+n+1);
          for(int i=1;i<=n;i++){
              for(int j=i+1;j<=n;j++){
                  if(a[i]==a[j]){
                      a[j]=rand();
                      cnt++;
                  }
              }
          }
          sort(a+1,a+n+1);
          printf("%d\n",n-cnt);
          for(int i=1;i<=n-cnt;i++) printf("%d ",a[i]);
          return 0;
      }
      
      • 0
        @ 2023-12-9 18:50:05

        基本思路:输入数组的同时,再计数排序,定义一个flag数组记录每个数字的出现次数,同时维护一个变量记录去重后的数组长度,最后输出flag数组值大于0的下标,就是去重加排序后的新数组

        #include <bits/stdc++.h>
        using namespace std;
        int n,a[102],m,flag[1002];
        int main(){
            cin >> n;
            for (int i = 0; i < n; i++){
                cin >> a[i];
                if (flag[a[i]] == 0){
                    flag[a[i]]++;
                    m++;
                }
            }
            cout << m << endl;
            for (int i = 0; i <= 1000; i++)
                if (flag[i] > 0)
                    cout << i << ' ';
            return 0;
        }
        
        • 0
          @ 2023-8-30 19:38:56

          yasuo👀️

          #include <iostream>
          #include <algorithm>
          int main(){
              int q,a[105]; std::cin>>q; for(int i=0;i<q;i++)std::cin>>a[i];
              std::sort(a,a+q); q=std::unique(a,a+q)-a; std::cout<<q<<"\n";
              for(int i=0;i<q;i++)std::cout<<a[i]<<" ";  return 0;}
          
          • 1

          信息

          ID
          408
          时间
          1000ms
          内存
          256MiB
          难度
          4
          标签
          递交数
          21
          已通过
          15
          上传者