题解 | #序列找数#

序列找数

https://www.nowcoder.com/practice/a7d1856a72404ea69fdfb5786d65539c

#include <stdio.h>
#include<malloc.h>

/*
从非负整数序列 0, 1, 2, ..., n中给出包含其中n个数的子序列,请找出未出现在该子序列中的那个数。
*/

//思路,开辟两个数组,一个数组用于接收序列,一个作为标记数组,把出现过的数放入标记数组,且记为1,遍历标记数组,为0 即为所求
int main() {

    int n, m, num;
    scanf("%d", &n);
    int* a = (int*)malloc(50* sizeof(int));
    int* nums = (int*)malloc(50* sizeof(int));
    int i;
    for (i = 0; i < n; i++)
        scanf("%d", &a[i]);

    for (i = 0; i < n; i++) {
        m = a[i];
        nums[m] = 1;
    }

    for (i = 0; i < n; i++) {
        if (nums[i] == 0)
            num = i;

    }
    printf("%d\n", num);
    free(a);
    free(nums);
}

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

自己从头开始刷的C语言

全部评论

相关推荐

jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务