88. 合并两个有序数组


https://leetcode-cn.com/leetbook/read/top-interview-questions/xmi2l7/
https://leetcode-cn.com/leetbook/read/top-interview-questions/xmi2l7/
给你两个有序整数数组  nums1 和 nums2,请你将 nums2 合并到  nums1  中,使 nums1 成为一个有序数组。
说明:
初始化  nums1 和 nums2 的元素数量分别为  m 和 n 。
你可以假设  nums1  有足够的空间(空间大小大于或等于  m + n)来保存 nums2 中的元素。
示例 1:
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3
输出: [1,2,2,3,5,6]
示例 2:
输入:
[1,2,3,0,0,0,0]
3
[2,5,6]
3
输出:
[1,2,2,3,5,6,0]


class Solution {
    //借鉴了org
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int p1=m-1;
        int p2=n-1;
        //尾插
        int p =m+n-1;
        while(p1>=0&&p2>=0){
            nums1[p--]=nums1[p1]>nums2[p2]?nums1[p1--]:nums2[p2--];
        }
        //把nums2 剩余的元素复制过去
        System.arraycopy(nums2,0,nums1,0,p2+1);
    }
}
public static native void arraycopy(Object src,  int  srcPos,
                                    Object dest, int destPos,
                                    int length);

文章作者:   future
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 future !
 上一篇
240. 搜索二维矩阵 II 240. 搜索二维矩阵 II
编写一个高效的算法来搜索  m x n  矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1,   4,  7, 11,
2020-09-11 future
下一篇 
思维导图 思维导图
https://www.processon.com/i/5d9497efe4b03d4e28a6a0b2https://www.processon.com/i/5d9497efe4b03d4e28a6a0b2
2020-09-07 future
  目录