Java如何将两个有序数组合并?
题目给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。你可以假设nums1有足够的空间(空间大小大于或等于m+n)来保存nums2中的元素。示例:输入:nums1=[1,2,3,0,0,0],m=3nums2=[2,5,6],n=3输出:[1,2,2,3,5,6]解析这个题目非常简单,今天投机取巧一次,我们知道题目中给定的两个数组已经是排序数组了,不需要我们进行排序了,而且nums1还已经留出
题目
给定两个有序整数数组 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]
解析
这个题目非常简单,今天投机取巧一次,我们知道题目中给定的两个数组已经是排序数组了,不需要我们进行排序了,而且nums1还已经留出了相应的位置。下面是解决方法
首先将nums2复制到nums1中后边0的位置,然后利用sort函数对nums1进行排序,大功告成!
完整代码
class Solution {
public:
void merge(vector& nums1, int m, vector& nums2, int n) {
for(int i = 0 ; i < n ; i++){
nums1[m+i] = nums2[i];
}
sort(nums1.begin(),nums1.end());
}
};
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















