LeetCode 合并两个有序数组

https://leetcode-cn.com/problems/merge-sorted-array/description/

我的解决方案:

class Solution {
    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        //这道题目的思路是先将nums1的元素全部移动至最后的内存空间
        //然后设置ij指针进行比较即可
        for(int i=m+n-1;i>=n;i--)  
            nums1[i]=nums1[i-n]; 
        int cnt=0;
        int i=n,j=0;
        while(i<m+n&&j<n) 
            nums1[cnt++]=nums1[i]<nums2[j]?nums1[i++]:nums2[j++]; 
        for(;j<n;j++)
            nums1[cnt++]=nums2[j];
    }  
}

感觉我的这个代码挺简洁的

上一篇:归并排序


下一篇:HNSW近邻搜索算法