Merge Sorted Array. [easy]

鏈接:
Merge Sorted Array

題意:混合插入有序數(shù)組。
分析:
一開始沒看懂題意,就先把兩個數(shù)組合并再輸出,沒有注意合并后的數(shù)組的長度為m+n;
可以從后往前附值,比較nums1和nums2最后一個元素的大小,把大的那一個放入m+n-1的位置中, 以此類推。如果nums1中所有元素都比nums2中的大,就把nums2填入剩下的位置中。如果nums1中所有元素都比nums2中小,那么前m個還是原來nums1的元素。

public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int c = m + n - 1;
        m--;
        n--;
        while(m >=0 && n >= 0)
        {
            nums1[c--] = nums1[m] > nums2[n] ? nums1[m--] : nums2[n--];
        }
        while (n >= 0)
        {
            nums1[c--] = nums2[n--];
        }
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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