LeetCode 14.合わせたソートされた配列

タイトル説明

配列Aと端末AはBを収容するのに十分なバッファ空間で所定の二ソートするB ソート組み込まA及びBの調製のための方法。

要素AとBの数を初期化し、mおよびnは。

例:

入力:
。A = [1,2,3,0,0,0]、M = 3
。B = [2,5,6]、N- = 3

出力:[1,2,2,3,5,6]

問題解決のためのアイデア

2つの関数アレイの併用のarraycopy

その後は、Arrays.sort(アレイ)に

コードは以下の通りです

輸入java.util.Arrays。

パブリック クラスマージ{
      公共 ボイドマージ(INT [] A、INT M、INT [] B、INT N){ 
             System.arraycopyの(B、 0 、A、M、N)。
             Arrays.sort(A)。
        } 
}

 その他のソリューション

 

   公共 ボイドマージ(INT [] A、INT M、INT [] B、INT N){
     int型 K = M + N-1、I = M-1、J = N-1 一方(I> = 0 && J> = 0 ){
         場合(A [i]が< B [J]){ 
            A [K - ] = B [j-- ]。
        } { 
            A [K - ] = A [i-- ]。
        } 
    } 
    一方(J> = 0)A [K - ] = B [j-- ]。
}

 

おすすめ

転載: www.cnblogs.com/Transkai/p/12401906.html