合并两个有序数组 题目描述 代码实现

给出两个有序的整数数组 合并两个有序数组
题目描述
代码实现合并两个有序数组
题目描述
代码实现,请将数组 合并两个有序数组
题目描述
代码实现合并到数组 合并两个有序数组
题目描述
代码实现中,变成一个有序的数组
注意:
可以假设 合并两个有序数组
题目描述
代码实现数组有足够的空间存放 合并两个有序数组
题目描述
代码实现数组的元素, 合并两个有序数组
题目描述
代码实现合并两个有序数组
题目描述
代码实现中初始的元素数目分别为 合并两个有序数组
题目描述
代码实现合并两个有序数组
题目描述
代码实现

代码实现

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
    //dp[i]代表的意思是:第i位置上的值为A与B相比的最小的值
        int[] dp = new  int[m+n];//临时数组
        int i = 0;//A的下标初始值
        int j = 0;//B的下标初始值
        int index = 0;//dp的下标初始值
        while(i<m && j< n){//不到边界
            dp[index++] = (A[i]<B[j])? A[i++] : B[j++];
            //把最小的值放在dp[index]中,然后对应的下标++
        }
        while(i < m){//A中剩余的放到临时数组中
            dp[index++] = A[i++];
        }
         while(j < n){//B中的剩余放到临时数组中
            dp[index++] = B[j++];
        }
        
        for(int k = 0; k < dp.length; k++){//将临时数组的东西放到题目要求的A数组中
            A[k] = dp[k];
        }
                   
               
    }
}