52 lines
1.3 KiB
C++
52 lines
1.3 KiB
C++
#include<bits/stdc++.h>
|
|
using namespace std;
|
|
class Solution{
|
|
public:
|
|
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n){
|
|
int idx_num1 = 0,idx_num2 = 0;
|
|
int constraint_length = m + n + 5;
|
|
int idx_rlt = 0;
|
|
int rlt[210] = {0};
|
|
|
|
while(idx_num1 < m && idx_num2 < n){
|
|
int val = min(nums1[idx_num1], nums2[idx_num2]);
|
|
rlt[idx_rlt++] = val;
|
|
if(val == nums1[idx_num1]){
|
|
idx_num1++;
|
|
continue;
|
|
}else{
|
|
idx_num2++;
|
|
}
|
|
}
|
|
while(idx_num1 < m){
|
|
rlt[idx_rlt++] = nums1[idx_num1++];
|
|
}
|
|
while(idx_num2 < n){
|
|
rlt[idx_rlt++] = nums2[idx_num2++];
|
|
}
|
|
for(int i = 0 ; i < idx_rlt;i++){
|
|
cout<<rlt[i]<<' ';
|
|
}
|
|
cout<<endl;
|
|
}
|
|
};
|
|
int main(){
|
|
Solution sol;
|
|
int m,n;
|
|
vector<int>ex1_num1={1,2,3,0,0,0};
|
|
vector<int>ex1_num2={2,5,6};
|
|
m = 3; n = 3;
|
|
sol.merge(ex1_num1,m,ex1_num2,n);
|
|
|
|
vector<int>ex2_num1={1};
|
|
vector<int>ex2_num2={};
|
|
m = 1; n = 0;
|
|
sol.merge(ex2_num1,m,ex2_num2,n);
|
|
|
|
vector<int>ex3_num1={0};
|
|
vector<int>ex3_num2={1};
|
|
m = 0; n = 1;
|
|
sol.merge(ex3_num1,m,ex3_num2,n);
|
|
|
|
return 0;
|
|
} |