题解 | #有序序列合并#

有序序列合并

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

int main()
{
    int m, n;
    int arr1[2000], arr2[1000];
     scanf("%d%d", &m, &n);
    for (int i = 0; i < m; i++)
    {
        scanf("%d", &arr1[i]);
    }
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr2[i]);
    }
    int mn = m + n-1, m_ = m-1, n_ = n-1;
    while(1)
    {
       
        if (arr1[m_] <= arr2[n_])
        {
            arr1[mn] = arr2[n_];
            mn--;
            n_--;
        }
        else
        {
            arr1[mn] =arr1[m_];
            mn--;
            m_--;
        }
        if (n_ == -1)
        {
            break;
        }
        if(m_==-1)
        {
            for (int i = mn; i >= 0;i--)
            {
                arr1[i] = arr2[n_];
                n_--;
            }
            break;
        }
    }
    
       for (int i = 0; i <m+n; i++)
        {
           printf("%d ", *(arr1 + i));
        }

    return 0;
}

全部评论

相关推荐

02-28 17:01
门头沟学院 C++
俊朗的铁猫希望被捞:兄弟如果只想搞钱的话,你这个简历最适合的其实是辅导机构做dai写啥的真的特别赚
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务