leetcode88 合併兩個有序陣列

2021-08-28 18:06:22 字數 550 閱讀 8853

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]:

'''如果nums1的末尾元素大於等於nums2末尾元素,nums1的末尾元素替換0,指標m前進1 m--

'''nums1[m + n - 1] = nums1[m - 1]

m -= 1

else:

'''如果nums1的末尾元素小於nums2末尾元素nums2指標指向的元素填補0,指標n--

'''nums1[m + n - 1] = nums2[n-1]

n -= 1

if n > 0 :

nums1[0:n] = nums2[0:n]

else:

return

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 合併兩個有序陣列

給定兩個有序整數陣列 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 由於合併後a陣列的大小必定是m n,所以從最後面開始往...