合并两个有序数组
-
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例 : 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6]
-
虽然这一题很简单,但是在题库上提交时会出BUG,原因是力扣解析器不支持concat方法 。换了剩余运算之后就好了
var merge = function(nums1, m, nums2, n) {
//将 nums1 , nums2 分别剪切为相应的元素个数
nums1.splice( m);
nums2.splice( n)
//将 nums2 拼接到nums1上面
nums1.push(...nums2)
//排序
// for(var i = 0 ; i < nums1.length - 1 ; i ++){
// for( var j = i + 1 ; j < nums1.length ; j ++){
// //判断大小
// if(nums1[i] > nums1[j]){
// //交换位置
// var temp = nums1[i]
// nums1[i] = nums1[j];
// nums1[j] = temp;
// }
// }
// }
//排序黑科技,固定用法,看不懂可以使用上面的选择排序
nums1.sort(function(a, b) {
return a - b
})
};