[LeetCode] Merge Sorted Array

1.Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

2.題目要求:混合插入有序數(shù)組,由于兩個數(shù)組都是有序的,所有只要按順序比較大小即可。

3.方法:建立一個m+n大小的新數(shù)組,然后逐個從A和B數(shù)組中取出元素比較,把較小的加入新數(shù)組,然后在考慮A數(shù)組有剩余和B數(shù)組有剩余的兩種情況,最后在把新數(shù)組的元素重新賦值到A數(shù)組中即可。

4.代碼:
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n)
{
multiset<int> result;
for(int i = 0;i<m;i++)
{
result.insert(nums1[i]);
}
for(int i = 0;i<n;i++)
{
result.insert(nums2[i]);
}
nums1.clear();
set<int>::iterator iter = result.begin();
for(;iter!=result.end();iter++)
{
nums1.push_back(*iter);
}
}
};

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容