首页 > 移动平台 > 详细

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

时间:2021-05-14 09:54:29      阅读:18      评论:0      收藏:0      [点我收藏+]

 

 

关键思路从后往前合并

 

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,合并两个有序数组

原文:https://www.cnblogs.com/mkl34367803/p/14766757.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!