1.给定一个二维数组,二维数组里的每个数组都有序,将它们合并成一个有序的一维数组。
如:
array={
{2,3,4},{1,2},{6,9,10,12}}
解决:
多路归并
#include <bits/stdc++.h>
using namespace std;
//合并两个有序数组
vector<int> mergeTwo(vector<int>& leftarr, vector<int>& rightarr){
int lenL=leftarr.size(), lenR=rightarr.size();
int i=0,j=0;
vector<int> res(lenL+lenR);
int id=0;
while(i < lenL && j<lenR){
if(leftarr[i] < rightarr[j]){
res[id]=leftarr[i];
i