本题要求编写算法,将已排序的整数数组nums1和nums2中的所有元素合并至nums1中,形成一个新的连续有序数组。挑战在于高效利用额外空间并优化时间复杂度。
题目要求将两个已排序的整数数组nums1和nums2合并为一个有序数组,并且结果存储在数组nums1中。给定的是每个数组中的元素数量:初始化的nums1包含m个有效数字,而空余位置可以容纳n个来自另一个数组(即nums2)的数据。假设num1有足够的空间来存放所有数据。
例如:
输入: nums1 = [1, 2, 3, 0, 0, 0], m = 3, nums2 = [2, 5, 6], n = 3
输出应为:[1, 2, 2, 3, 5, 6]
另一个例子:
输入: nums1 = [1], m = 1,nums2 = [], n = 0
输出应为:[1]
限制条件如下:
- 数组长度满足nums1.length == m + n 和 nums2.length == n
- 元素数量的范围是0 <= m, n <= 200,并且总元素数m+n在1到200之间。
- 数字值的取值范围为 -10^9<= nums[i] <= 10^9