1 条题解

  • 0
    @ 2026-7-24 12:18:29
    # 解题思路
    
    维护结果数组,加入新元素前检查它是否已经出现。
    
    # 复杂度
    
    - 时间复杂度:$O(n)$(若题目只有单个整数,则可视为 $O(1)$)。
    - 空间复杂度:$O(n)$ 或 $O(1)$,取决于是否需要保存数组。
    
    # 参考程序
    
    ```cpp
    #include<bits/stdc++.h>
    

    using namespace std;

    int main(){ int n,a[1005],b[1005],m=0; cin >> n; for(int i=0;i<n;i++) cin >> a[i]; for(int i=0;i<n;i++){ bool seen=false; for(int j=0;j<m;j++) if(b[j]==a[i]) seen=true; if(!seen) b[m++]=a[i]; } cout << m << '\n'; for(int i=0;i<m;i++){ if(i) cout << ' '; cout << b[i]; } return 0; } ```

    信息

    ID
    5068
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    10
    已通过
    4
    上传者