力扣0088——合并两个有序数组
合并两个有序数组
难度:简单
题目描述
给你两个按 非递减顺序 排列的整数数组 nums1
和 nums2
,另有两个整数 m
和 n
,分别表示 nums1
和 nums2
中的元素数目。
请你 合并 nums2
到 nums1
中,使合并后的数组同样按 非递减顺序 排列。
注意: 最终,合并后数组不应由函数返回,而是存储在数组 nums1
中。为了应对这种情况,nums1
的初始长度为 m + n
,其中前 m
个元素表示应合并的元素,后 n
个元素为 0
,应忽略。nums2
的长度为 n
。
示例1
输入: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出:[1,2,2,3,5,6]
示例2
输入: nums1 = [1], m = 1, nums2 = [], n = 0
输出:[1]
示例3
输入: nums1 = [0], m = 0, nums2 = [1], n = 1
输出:[1]
题解
因为nums1
的长度为m+n
,所以可以直接将nums2
的内容加入到nums1
中然后进行
S
o
r
t
Sort
Sort排序
想法代码
class Solution
{
public static void Main(String[] args)
{
int[] nums1 = { 1, 2, 3, 0, 0, 0};
int[] nums2 = { 2, 5, 6 };
int m = 3;
int n = 3;
Solution solution = new Solution();
solution.Merge(nums1, m, nums2, n);
foreach (int i in nums1)
{
Console.Write(i + " ");
}
}
public void Merge(int[] nums1, int m, int[] nums2, int n)
{
for (int i = m, j = 0; j < n; i++, j++)
{
nums1[i] = nums2[j];
}
Array.Sort(nums1);
}
}
原文地址:https://blog.csdn.net/Aubyn11/article/details/135881705
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!