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

序列中删除指定数字

https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7

#include <stdio.h>

void move(int a[],int N,int n)
{
     for(int i=0;i<N;i++)
    {
        if(a[i]==n)
        {
            for(int j=i;j<N;j++)
            {
                a[j]=a[j+1];
            }
            N=N-1;
            move(a,N,n);
        }
    }
}

int main() 
{
    int N;
    int a[50];
    scanf("%d",&N);
    for(int i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
    int n;
    scanf("%d",&n);
    int s=0; 
    int M=N;
    int A=0;
    for(int i=0;i<N;i++)
    {
        if(a[i]==n)
        A=A+1;
    }
    for(int i=0;i<N;i++)
    {
        if(a[i]==n)
        {
            s=s+1;
			if(i==N-1&&s==0)
    {
        for(int i=0;i<N-1;i++)
        {
            printf("%d ",a[i]);
        }
        return 0;
    }
        }
    }
    if(s==0)
    {
        for(int i=0;i<N;i++)
        {
            printf("%d ",a[i]);
        }
        return 0;
    }
    
    move(a,N,n);
     for(int i=0;i<M-A;i++)
     {
         printf("%d ",a[i]);
     }
    return 0;
}

全部评论

相关推荐

GGrain:没事,本硕985也不发面试笔试😖
点赞 评论 收藏
分享
昨天 14:12
已编辑
少儿频道 算法工程师
反向练手了属于是
牛客71321951号:秋招的每一步都在成为小丑王的路上狂奔
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务