题解 | #序列中删除指定数字#

序列中整数去重

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

写复杂了,评论区的大神写的真好,直接从输入那里做文章,省下好多功夫

#include<stdio.h>

int main()
{
    int n = 0, i = 0,j=0;
    int arr[50] = { 0 };
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    for (i = 0; i < n; i++)
    {
        //每一个数字
        for (j = i+1; j < n; j++)
        {
            //和自身以外的数字进行比较
            if (arr[i] == arr[j])
            {
                //有重复,数组后面的整体向前提一位
                for (int k = 1; k < n-j; k++)
                    arr[j+k-1] = arr[k+j];
                j =j-1;
                n--;
            }
        }
        
    }
    for (int j = 0; j < n; j++)
        printf("%d ", arr[j]);
    return 0;
}
全部评论

相关推荐

在改简历的大卫很认真:天天有面试 = 你已经在 offer 门口了。 海投能面成这样,说明你的简历、基础、学历都是过关的,缺的只是一次刚好匹配的缘分。 关于你说的 SQL 恐惧,我帮你捋一下: - 面试里考来考去,真就那几类: 分组、去重、关联、子查询、窗口函数(row_number、rank、sum 开窗) ​ - 面试官要的不是“写得花里胡哨”,而是思路稳、不出错。 你恐惧的本质不是不会, 是怕临场卡壳、怕写错、怕被追问。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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