88 合併兩個有序陣列

2021-08-26 23:18:01 字數 885 閱讀 6285

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。

說明:

示例:

輸入:nums1 = [1,2,3,0,0,0], m = 3

nums2 = [2,5,6], n = 3輸出:[1,2,2,3,5,6]

思路:建乙個新的陣列nums,長度為m+n;

用乙個for迴圈,記錄i從0到m+n,將數字存入nums,用乙個變數k遍歷nums1,用乙個變數l遍歷nums2;

這裡有四種情況:

1.nums1和nums2都沒有遍歷完,且nums1的值要小於nums2的值,這時候存入nums1的值;

2.nums1和nums2都沒有遍歷完,且nums2的值要小於nums1的值,這時候存入nums2的值;

3.nums1的值已經遍歷完,這時候需要存入剩下的nums2的值;

4.nums2的值已經遍歷完,這時候要存入剩下的nums1的值;

最後,將nums的值存入nums1裡面。

class solution else if(k==m)else if(l==n)

}for(int i=0;i}

}}

88 合併兩個有序陣列

略。知道是在nums1上變動。如果從nums1的頭部開始放,就會出現nums1緊接著的第乙個元素還沒有nums2從頭數第二個元素小的情形,這樣就沒有辦法比較了。而從nums1的最後乙個元素開始放,能夠保證nums1和nums2的最後乙個元素一定比彼此的倒數第二個元素大。所以選擇從nums1的最後乙個...

88 合併兩個有序陣列

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 中的元素。示例 輸...

88 合併兩個有序陣列

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 中的元素。示例 輸...