题解 | #明明的随机数#

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

大佬们太强了,萌新作为初学者想到一个比较麻烦但是比较好理解的方法
arr数组用于存放输入的整数,map数组存放1~500用于和arr作比较(for循环对map[501]进行元素填充,注意填充从下标1开始,方便后续计算)
while循环向arr数组输入整数,输入一次和map数组对比一次,如果有相等对应下标的map[j]置501,后续相同元素对比map不可能满足arr[i]==map[k]
题目要求输入数字满足1~500,所以0不需要判断,将值为501的元素顺序打印即可
这套代码优缺点都很明显
缺点是开辟内存空间较大,占用资源多;
优点是省略了数组内容排序的过程,同时保留输入数组内容,后续如果有需求可以直接拿来用。
#include <stdio.h>
int main()
{
    int N;
    scanf("%d",&N);
    int arr[1000];
    int i=0;
    int map[501];
    for(int j=1;j<501;j++)
    {
        map[j]=j;    
    }
    while(scanf("%d",&arr[i]) != EOF)
    {
        for(int l=1;l<501;l++)
        {
            if(arr[i]==map[l])
            {
                map[l]=501;
            }    
        }
        i++;
    }
    for(int j=1;j<501;j++)
    {
        if(501==map[j])
        {
            printf("%d\n",j);
        }    
    }
    return 0;
}


全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务