説明タイトル:
配列へのA及びBは、端末AがBを収容するのに十分なバッファ空間が2つのソート後に与えられます。ソート組み込ま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]
出典:滞在ボタン(LeetCode)
//leetcode-cn.com/problems/sorted-merge-lcci:リンク:httpsの
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。
ソリューション:
class Solution {
public void merge(int[] A, int m, int[] B, int n) {
int right_border = A.length - 1;
int cur = m - 1;
for (int i = n - 1; i >= 0; ) {
if(cur < 0){
for (int j = 0; j <= right_border; j++) {
A[j] = B[j];
}
break;
}
if (A[cur] <= B[i]) {
A[right_border] = B[i];
right_border--;
i--;
} else {
A[right_border] = A[cur];
cur--;
right_border--;
}
}
}
}