Merge Sorted Array
来源:互联网 发布:粒子滤波slam算法流程 编辑:程序博客网 时间:2024/05/16 16:01
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.
归并排序:思想如果将nums2中元素从头插入到nums1中那么将会有大量元素移动,效率不高。因此从尾部开始插入。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
vector<int> merge(vector<int>& nums1, int m, vector<int>& nums2, int n)
{
vector<int> tmp(5,0); //原意是nums1能够容纳nums1和nums2合并后的元素。
int ia = m - 1, ib = n - 1, icur = m + n - 1;
while(ia >= 0 && ib >= 0)
tmp[icur--] = nums1[ia] > nums2[ib] ? nums1[ia--] : nums2[ib--];
while(ib >=0)
tmp[icur--] = nums2[ib--];
return tmp;
}
int main()
{
vector<int> a,b,res;
a.push_back(2),a.push_back(10);
//cout<<a[0]<<endl<<a[1]<<endl;
b.push_back(1),b.push_back(5),b.push_back(8);
res=merge(a,a.size(),b,b.size());
for(int i=0;i<res.size();i++)
cout<< res[i] <<endl;
return 0;
}
- [Array]Merge Sorted Array
- LeetCode: Merge Sorted Array
- Merge Sorted Array
- [Leetcode] Merge Sorted Array
- Merge Sorted Array
- [LeetCode] Merge Sorted Array
- Merge Sorted Array
- Merge Sorted Array
- [88]Merge Sorted Array
- Merge Sorted Array
- Merge Sorted Array
- [LeetCode]Merge Sorted Array
- Merge Sorted Array
- [leetcode]Merge Sorted Array
- Merge Sorted Array
- [Leetcode]Merge Sorted Array
- Merge Sorted Array
- Merge Sorted Array
- poj 2528
- 辨识数据Ident10_1000
- Vue.js学习笔记(一)
- Day3
- html、css学习总结
- Merge Sorted Array
- 在Android studio中获取到的 VersionName 一直是1.0 VersionCode 一直是1 的问题
- PAT乙级别.1031. 查验身份证(15)
- SparkSQL: no typetag available for xxxx问题的解决办法
- mysql数据库学习-查询命令
- iOS开发系列--通知与消息机制
- 对话窗口( AlertDialog)
- String、StringBuffer、StringBuilder的区别
- 正则表达式与Python