摘要:题目描述给定两个有序整数数组和,将合并到中,使得成为一个有序数组。说明初始化和的元素数量分别为和。你可以假设有足够的空间空间大小大于或等于来保存中的元素。示例输入输出代码实现
题目描述
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
说明:
初始化 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]代码实现
/** * @param {number[]} nums1 * @param {number} m * @param {number[]} nums2 * @param {number} n * @return {void} Do not return anything, modify nums1 in-place instead. */ var merge = function(nums1, m, nums2, n) { let index1 = m-1, index2 = n-1, finalIndex = m+n-1; while(index1 >= 0 && index2 >= 0) { nums1[index1] >= nums2[index2] ? nums1[finalIndex--] = nums1[index1--] : nums1[finalIndex--] = nums2[index2--]; } while(index2 >= 0) { nums1[finalIndex--] = nums2[index2--]; } };
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/97326.html
摘要:题目要求将两个有序数组合并至其中一个数组并且该新数组仍然有序。所以我们可以换一种思维方式,从大至小遍历,这样可以将较大的元素直接填入当前的位置而且不用考虑移动其它的元素。 题目要求 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You...
摘要:此专栏文章是对力扣上算法题目各种方法的总结和归纳整理出最重要的思路和知识重点并以思维导图形式呈现当然也会加上我对导图的详解目的是为了更方便快捷的记忆和回忆算法重点不用每次都重复看题解毕竟算法不是做了一遍就能完全记住的所 ...
摘要:题目地址题目描述给定两个有序整数数组和,将合并到中,使得成为一个有序数组。说明初始化和的元素数量分别为和。你可以假设有足够的空间空间大小大于或等于来保存中的元素。示例输入输出解答这一题如果用两个循环是可以做出来的,但是复杂度过大。 题目地址:https://leetcode-cn.com/probl...题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并...
此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), 毕竟算法不是做了一遍就能完全记住的. 所以本文适合已经知道解题思路和方法, 想进一步加强理解和记忆的朋友, 并不适合第一次接触此题的朋友(可以根据题号先去力扣看看官方题解, 然后再看本文内容). 关...
摘要:示例输入输出示例输入输出示例输入输出提示两个链表的节点数目范围是和均按非递减顺序排列递归法分析递归法,和之前的一样,还是需要先设置跳出判断,这里设置为空的时候跳出。 ...
阅读 2813·2023-04-25 18:46
阅读 704·2021-11-19 09:40
阅读 2070·2021-09-28 09:36
阅读 3375·2021-09-10 11:11
阅读 3458·2019-08-30 15:55
阅读 1796·2019-08-30 15:54
阅读 2592·2019-08-29 16:16
阅读 3539·2019-08-29 15:08