题解 | #序列中整数去重#

序列中整数去重

http://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490

int main() {
    int n;
    scanf("%d", &n);
    int m[n];
    for (int i = 0; i < n; i++) {
        scanf("%d ", &m[i]);
    }
    for (int j = 0; j < n; j++) {
        for (int k = j + 1; k < n; k++) {
            if (m[j] == m[k]) {  //判断当前值是否等于后面的值
                for (int x = k + 1; x < n; x++) {
                    //将相同值位置的后面值均向前覆盖,达到删除效果
                    m[x - 1] = m[x];
                }
                n--;  //总长度减1
                k--;  //防止有连续重复值,重新判断一次
            }
        }
    }
    for (int y = 0; y < n; y++) { //输出
        printf("%d ", m[y]);
    }
    return 0;
}
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务