题解 | #合并两个有序的数组#

合并两个有序的数组

https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

  void merge(int A[], int m, int B[], int n) {
        //直接合并的话A中元素会有覆盖的问题。
        //那么我们就倒着来归并就不会有覆盖的问题了,注意细节实现,考虑周全就好了。
        int indexa=m-1;
        int indexb=n-1;
        int end=m+n-1;
        while(indexb>=0 && indexa>=0)
        {
            if(A[indexa]>B[indexb])
            {
                A[end]=A[indexa];
                indexa--;
            }else
            {
                A[end]=B[indexb];
                indexb--;
            }
            end--;
        }
        while(indexb>=0)
        {
        A[indexb]=B[indexb];
        indexb--;
        }

    }

全部评论

相关推荐

01-02 21:17
已编辑
西安理工大学 后端
程序员小白条:项目不太重要,你的优势的算法竞赛,然后多背相关的八股文,项目可以不作为重点考虑,面试可能就简单带过项目就行了,你可以直接写简历,背项目相关的八股文就行,也不用自己做,时间紧张的情况下,性价比最高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务