文章

1

粉丝

0

获赞

0

访问

125

头像
整数去重 题解:
P2021
发布于2024年4月11日 16:21
阅读数 125

一个暴力解,时间复杂度过高故通过不了评测。

思路:双重for循环,重复项标记为-1

#include<stdio.h>
int main(){
    int n,i,j;
    scanf("%d",&n);
    int a[n];
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            if(a[i]==a[j]&&i!=j) {
                a[j]=-1;
            }    
        }
    }
    for(i=0;i<n;i++){
        if(a[i]!=-1) printf("%d ",a[i]);
    }
    return 0;

登录查看完整内容


登录后发布评论

1 条评论
爱在西元前
2024年4月11日 16:51

可以用数组标记法来判断是否出现过

新开一个数组f[20005],f[a[i]]=1表示a[i]出现过

赞(0)