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

合并两个有序的数组

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

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int i = m-1;//A数组的末尾
        int j = n-1;//B数组的末尾
        int k = m+n-1;//A数组拼接后的末尾
        //两个数组都有数据时
        while(i >=0 && j >= 0){
            if( A[i] <= B[j] ){
                A[k]= B[j];
                k--;
                j--;

            }else if(A[i]>B[j]){
                A[k] = A [i];
                k--;
                i--;
            }
        }//此时循环结束,其中一个数组已走完
        //B先走完,A里面可以保持不变
        //如果A里面先走完,需要将B中剩余的放进A中
        while(j>=0){
            A[k]=B [j];
            k--;
            j--;
        }

    }
}
全部评论

相关推荐

2025-12-19 19:02
西安交通大学 Java
程序员牛肉:双九,而且还是西交这种比较好的985九没必要再投日常了。你投中小厂,人家会觉得你学历这么顶还面试肯定是海投的,过了你也不去。所以不约你了。 直接准备暑期实习就好,现在你可以面试。但是目的不再是去日常实习了,而是熟悉面试节奏。 后续把精力放到八股,算法和AI知识上。抽空把自己这两个项目换了,怎么选项目可以看看我主页写的文章。 你学历不错的,不要焦虑
那些拿到大厂offer的...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务