小米面试前算法准备:leetcode88,合并两个有序数组

Posted 坚守梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小米面试前算法准备:leetcode88,合并两个有序数组相关的知识,希望对你有一定的参考价值。

 

 

关键思路从后往前合并

 

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int idxm=m-1;
        int idxn=n-1;
        int sum=m+n-1;
        while(idxm>=0&&idxn>=0){
            if(nums1[idxm]==nums2[idxn]){
                nums1[sum--]=nums1[idxm--];
                nums1[sum--]=nums2[idxn--];
            }else if(nums1[idxm]>nums2[idxn]){
                nums1[sum--]=nums1[idxm--];
            }else if(nums1[idxm]<nums2[idxn]){
                nums1[sum--]=nums2[idxn--];
            }
        }
        while(idxn>=0){
            nums1[idxn]=nums2[idxn];
            idxn--;
        }
        
    }
}

 

以上是关于小米面试前算法准备:leetcode88,合并两个有序数组的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Number 88. 合并两个有序数组

leetcode算法88.合并两个有序数组

面试题:合并2个有序数组(leetcode88)

⭐算法入门⭐《简单排序》简单02 —— LeetCode 88. 合并两个有序数组

LeetCode刷题88-简单-合并两个有序数组

LeetCode刷题88-简单-合并两个有序数组