例えばNUM1等の規則配列でnums2のnums1に組み込まれた整数とnums2のnums1二順序付けられた配列を、与えられました。
説明:
mおよびnの要素nums1 nums2の数を初期化します。
あなたはnums2の要素を保存するnums1十分なスペース(M + 1 N以上の空間)をとることができます。
例:
入力:
nums1 = [1,2,3,0,0,0]、M = 3。
nums2 = [2,5,6]、N- = 3。
出力:[1,2,2,3,5,6]
考え
直接一度完成横断要素を入れて戻ってから、最大に
1 クラスソリューション{ 2 公共: 3 ボイドマージ(ベクトル< INT >&nums1、INT M、ベクトル< INT >&nums2、INT N-){ 4 // 直接最大に 。5 ため(INT I = M + N- 1。、I_1 = M- 1、= N- I_2が使用されている1。 ; I> = 0 ; i-- ){ 6 // nums1空の配列、I = N-1、I_1 = 0-1 = -1、I_2 = N-1 。7 IF(I_1 < 0 ){ 8 nums1 [I] = nums2 [I_2が使用されている]; 9 i_2--; // 同nums1 [I] = nums2 [i_2--]。 10 続け; 11 } 12 // nums2空数组、N = 0、I = M-1、I_1 = M-1、I_2 = 0-1 = -1 13 であれば(I_2 < 0 ){ 14 nums1 [I] = nums1 [I_1 ]; 15 i_1-- 。 16 続け; 17 } 18 であれば(nums1 [I_1]> = nums2 [I_2]){ 19 nums1 [I] = [I_1] nums1。 20 i_1-- 。 21 } 22 他{ 23 nums1 [I] = nums2 [I_2]。 24 i_2-- ; 25 } 26 27 } 28 } 29 }。