class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
if (m<0&n<0)
return;
vector<int> c(m+n);
int a=0,b=0;
for(int i=0;i<m+n;i++)
{
if(a<m&&b<n)
{
if(nums1[a]<nums2[b])
{
c[i]=nums1[a];
a++;
}
else
{ c[i]=nums2[b];
b++;}
}
else if(a>=m)
{
c[i]=nums2[b];
b++;
}
else if (b>=n)
{
c[i]=nums1[a];
a++;
}
}
for(int i=0;i<m+n;i++)
nums1[i]=c[i];
return;
}
};
本文介绍了一个简单的算法,用于将两个已排序的整数数组合并成一个有序数组。该算法通过比较两个数组中的元素并逐一放入新的容器中实现,确保了最终结果的有序性。适用于需要对多个有序数组进行合并的场景。
1086

被折叠的 条评论
为什么被折叠?



