题解 | #小乐乐与序列#

小乐乐与序列

https://www.nowcoder.com/practice/9a1c1c764ce04fed8ceff7714e74d3b6

#include <stdio.h>

int main()
{
    int n = 0,k = 0;
    int max = 0;
    int arr[1000001] = {0};
    
    scanf("%d",&n);
    for(int i = 0;i < n; i++)
    {
        scanf("%d",&k);
        //记录输入数据中最大的一个数
        if(max<k)
         max = k;
        //将数据与数组下标对应,出现则数据对应数组下标的值置为1
        //表示该数据出现过,未出现的都为0
        //如果输入数据为0,则arr[0]=1
        if(arr[k] == 0)
        {
            arr[k]++;
        }
    }
    //前面我们记录了所出现数据的最大值
    //因此不用检查到数组的最后一位
    //只要将数组元素为1的下标打印即可
    for(int i = 0;i<=max;i++)
        if(arr[i])
            printf("%d ",i);
    return 0;
}

全部评论
你的max在这个题目里面就是n,其实不需要再判断了
点赞 回复 分享
发布于 2023-10-18 23:49 广西

相关推荐

无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
投票
我要狠拿offer:如果不是必须去成都绝对选九院呀,九院在四川top1研究所了吧
点赞 评论 收藏
分享
3 1 评论
分享
牛客网
牛客企业服务