1. 程式人生 > 實用技巧 >【leetcode - 88】合併兩個有序陣列 easy

【leetcode - 88】合併兩個有序陣列 easy

給你兩個有序整數陣列nums1 和 nums2,請你將 nums2 合併到nums1中,使 nums1 成為一個有序陣列。

說明:

初始化nums1 和 nums2 的元素數量分別為m 和 n 。
你可以假設nums1有足夠的空間(空間大小大於或等於m + n)來儲存 nums2 中的元素。

反向遍歷,取大的元素放入,如果第二個沒有跑完,繼續遍歷第二個即可

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        
""" i,j,k = m-1,n-1,m+n-1 while i>=0 and j>=0: if nums1[i]>=nums2[j]: nums1[k] = nums1[i] k-=1 i-=1 else: nums1[k] = nums2[j] k-=1 j-=1 if j>=0:
while j>=0: nums1[k] = nums2[j] k-=1 j-=1