LintCode-6.合并排序數(shù)組

題目

描述

合并兩個(gè)排序的整數(shù)數(shù)組A和B變成一個(gè)新的數(shù)組。

樣例

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

解答

思路

歸并排序。建立新的數(shù)組,大小為兩個(gè)數(shù)組長(zhǎng)度之和。
從后往前歸并,好處在于,如果大的數(shù)組長(zhǎng)度足夠容納所有的元素,可以降低空間復(fù)雜度。

代碼

class Solution {
    /**
     * @param A and B: sorted integer array A and B.
     * @return: A new sorted integer array
     */
    public int[] mergeSortedArray(int[] A, int[] B) {
        // Write your code here
        int[] C = new int[A.length+B.length];
        int i = A.length - 1, j = B.length - 1, k = A.length + B.length-1;
        while(i >= 0 && j >= 0){
            C[k--] = (A[i] < B[j]) ? B[j--] : A[i--];
        }
        while(i>=0){
            C[k--] = A[i--]; 
        }
        while(j>=0){
            C[k--] = B[j--]; 
        }
        return C;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    蟻前閱讀 5,308評(píng)論 0 52
  • 概述:排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,829評(píng)論 0 15
  • 一、 單項(xiàng)選擇題(共71題) 對(duì)n個(gè)元素的序列進(jìn)行冒泡排序時(shí),最少的比較次數(shù)是( )。A. n ...
    貝影閱讀 9,437評(píng)論 0 10
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 將一個(gè)記錄插入到已排序好...
    依依玖玥閱讀 1,357評(píng)論 0 2
  • Implement atoi to convert a string to an integer. Hint: C...
    陸文斌閱讀 206評(píng)論 0 0

友情鏈接更多精彩內(nèi)容