牛课题霸NC22解析Java描述

牛课题霸NC22解析Java描述

题目

链接地址
给出两个有序的整数数组A和B,其中A足够大,合并两个数组至A中,使得合并后仍然有序。

解析

思路:

有点像归并排序中合并两个排序数组,但是这里有一点不同,就是A数组范围够大,因此我们可以不开辟额外的数组来存储结果。
从前往后归并如果在原数组上进行,会出现元素覆盖的情况,考虑从后往前原地归并,这样就不会出现该问题。

Java描述

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int i = m - 1;
        int j = n - 1;
        int p = m + n - 1;
        while(i >= 0 && j >= 0){
            A[p--] = A[i] >= B[j] ? A[i--] : B[j--]; 
        }
        while(j >= 0){A[p--] = B[j--];}
    }
}
#牛客题霸##题解#
全部评论
🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41

相关推荐

点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务