20170909_合并两个有序数组

来源:互联网 发布:三菱plc 编程手册 编辑:程序博客网 时间:2024/05/22 08:09

20170909_合并两个有序数组


//合并两个有序列表_美团点评/*输入:[1,3,4,5,8,9]和[2,6,7,10,12,13,15]输出:[1,2,3,4,5,6,7,8,9,10,12,13,15]*/#include<iostream>#include<vector>#include<algorithm>using namespace std;class Solution{public:vector<int> MergeArray(const vector<int> &numA, const vector<int> &numB){int szNumA=numA.size();int szNumB=numB.size();if(szNumA==0)return numB;if(szNumB==0)return numA;vector<int> res(szNumA+szNumB,0);int i=0, j=0;int k=0;for(i=0, j=0; i<szNumA && j<szNumB; ){if(numA[i]<numB[j])res[k++]=numA[i++];elseres[k++]=numB[j++];}while(i<szNumA)res[k++]=numA[i++];while(j<szNumB)res[k++]=numB[j++];return res;}};int main(void){int A[]={1,3,4,5,8,9};/*int B[]={2,6,7,10,12,13,15};*///int B[]={2,3,4,5,6,7,10,12,13,15};int B[]={2};vector<int> numA(begin(A),end(A));vector<int> numB(begin(B),end(B));class Solution object;vector<int> res=object.MergeArray(numA, numB);for(auto mem:res)cout<<mem<<",";cout<<endl;system("pause");return 0;}



原创粉丝点击