1. 這道題為簡單題目,但是還有需要好好思考的
2. 首先不能使用額外陣列合併,不然就沒得後文了
3. nums1後面有0填充,且填充數量正好是n,整個陣列大小即m+n能夠容納合併後的資料
4.既然要在原來的陣列上操作,有沒有可能能夠避免移動資料(降低時間複雜度?),使用交換方式
從後往前思考,類似於字串空格替換(先開闢多餘的空間)然後 使用多個指標 從後往前,避免移動資料
因此我們使用p,q,s三個index分別指向num1的資料最後乙個,num2資料的最後乙個,num1整個大小的最後乙個
p = m-1,q = n-1,s=m+n-1;
class solution
}};
LeetCode 88 合併倆有序陣列
給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 中的元素。示例 輸...
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 解題思路 使用二分查詢演算法直接插入,極其簡潔,展示...