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

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

    样例

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

    挑战

    你能否优化你的算法,如果其中一个数组很大而另一个数组很小?

    解题思路:这道题为了优化算法,我想的是把元素多的数组A向元素少的数组B中添加;遍历元素少的数组B,遇到A中比当前B中小的即可插进去,当B遍历完之后,将其余的A全部放在B的末尾即可。

     1 class Solution {
     2     /**
     3      * @param A and B: sorted integer array A and B.
     4      * @return: A new sorted integer array
     5      */
     6     public ArrayList<Integer> mergeSortedArray(ArrayList<Integer> A, ArrayList<Integer> B) {
     7         // write your code here
     8         if(A.size()<B.size()){
     9             ArrayList<Integer>  tmp = A;
    10             A = B;
    11             B = tmp;
    12         };
    13         int i =0 ,j=0;
    14         while(i<A.size()&&j<B.size()){
    15             if(A.get(i)<B.get(j)){
    16                 B.add(j,A.get(i));
    17                 i++;
    18                 j++;
    19             }else{
    20                 j++;
    21             }
    22         }
    23         if(j==B.size()&&i<A.size()){
    24             while(i<A.size()){
    25                 B.add(A.get(i));
    26                 i++;
    27             }
    28         }
    29         return B;
    30     }
    31 }
  • 相关阅读:
    《linux 必读》
    ldd ldconfig
    rpm 数据库
    /bin, /sbin & /usr/bin, /usr/sbin & /usr/local/bin, /usr/local/sbin & glibc
    POSIX
    CentOS 下载地址
    insert into TABLE by SELECT ...
    httpd 处理模型
    http 状态码
    IP地址 0.0.0.0 是什么意思?
  • 原文地址:https://www.cnblogs.com/wangnanabuaa/p/4996497.html
Copyright © 2011-2022 走看看