小米面试前算法准备: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,合并两个有序数组的主要内容,如果未能解决你的问题,请参考以下文章