題目描述:
給定兩個排序後的陣列 a 和 b,其中 a 的末端有足夠的緩衝空間容納 b。 編寫乙個方法,將 b 合併入 a 並排序。
初始化 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]
說明:
思路一:
class
solution
//進行排序
arrays.
sort
(a);
}}
思路二:class
solution
else
if(a[i]
)else}if
(j==n && i==m)
//ab中的元素都便利完了
}else
if(i==m)
else}}
else
if(j==n)
//b中的元素遍歷完了
//然後再把鍊錶中的元素拷貝到a中
for(
int k=
0;k}}
leetcode 88 合併兩個有序數
給定兩個有序整數陣列 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 我覺得這道題有點問題。假設 nums1 有足夠的空間...
LeetCode 88 合併兩個有序陣列
給定兩個有序整數陣列 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 解題思路 使用二分查詢演算法直接插入,極其簡潔,展示...
leetcode88 合併兩個有序陣列
def merge self,nums1,m,nums2,n 關鍵點是nums1原陣列的長度是m n,肯定要在nums1上操作效率高 如果正向比較的話移動次數很多,逆向的話不需要移動 注意m,n是以1開頭的 while m 0 and n 0 if nums1 m 1 nums2 n 1 如果num...