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

序列中整数去重

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

#include <stdio.h>

int main() {
    int n = 0;
    scanf("%d", &n);
    int arr[1000] = {0};
    int i = 0;
    for ( i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    for (i = 0; i < n; i++) {
        int j = 0;
        for (j = i + 1; j < n; j++) {
//先找出相同的元素
//如果相等,要把后续元素往前移动
            if (arr[i] == arr[j]) {
                int k = 0;
                for (k = j; k < n - 1; k++) {
                    arr[k] = arr[k + 1];
                }
                n--;//去重一个,个数少1
                j--;
//如果去重了arr[j]
//把下一个位置的数字arr[j+1],放在新的arr[j]上
//恰好又和arr[i]相同,所以也要再判断
//3 2 3 3 3 4 5
//
            }
        }
    }
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

c语言刷题 文章被收录于专栏

c语言刷题题目

全部评论

相关推荐

08-12 09:16
Java
牛客38753147...:后端的竞争者一届比一届卷,前两年非985还很多,一段大厂实习就已经非常优秀了。 现在985硕多如狗,人手一段大厂实习,而且腾讯和百度今年都宣布实习扩招了一倍不止,越来越多的人从本一研一就开始刷实习,信息差也基本没有了。可以预见的,以后只会越来越卷。
投递快手等公司10个岗位
点赞 评论 收藏
分享
08-20 19:20
已编辑
大连理工大学 数据产品
站队站对牛:92优势大的很 年少不知道学习好 工作时 惨不忍睹
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务