zoukankan      html  css  js  c++  java
  • 6. 合并排序数组

    合并两个排序的整数数组A和B变成一个新的数组。

    样例

    给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]

    先上一个无脑的,可以AC

    1 vector<int> mergeSortedArray(vector<int> &A, vector<int> &B) {
    2         // write your code here
    3         for(int i=0;i<B.size();i++){
    4             A.push_back(B[i]);
    5         }
    6         sort(A.begin(), A.end());
    7         return A;
    8     }

    其实这个题是面试场景出现的话,完全可以先弄一个暴力的出来,后面再慢慢优化,这也是一个思路的过程

    下面这一个就是很常规的了,就是申请了一个新数组,空间复杂度高一些

     1 vector<int> mergeSortedArray(vector<int> &A, vector<int> &B) {
     2         // write your code here
     3         vector<int> result(A.size()+B.size(), 0);  
     4         int i = 0, j = 0;  
     5         int k = 0;  
     6         while (i < A.size() && j < B.size())  
     7         {  
     8             if (A[i] > B[j])  
     9             {  
    10                 result[k++] = B[j++];  
    11             } 
    12             else  
    13             {  
    14                 result[k++] = A[i++];  
    15             }  
    16         }  
    17         while (i < A.size())  
    18         {  
    19             result[k++] = A[i++];  
    20         }  
    21         while (j < B.size())  
    22         {  
    23             result[k++] = B[j++];  
    24         }  
    25         return result;  
    26     }
  • 相关阅读:
    树-1
    javaSE 2
    (蓝桥杯)蛇形矩阵的求法
    年轻母牛的故事
    互质环(序列)与最小公倍数的几种求法
    算法的复杂度
    Halo开源博客项目配置
    IDEA报错稀有语法问题
    带你跑ELADMIN后台管理系统开源项目
    相比c++,Java在基础语法的改变
  • 原文地址:https://www.cnblogs.com/TheLaughingMan/p/8181326.html
Copyright © 2011-2022 走看看