【leetcode - 88】合併兩個有序陣列 easy
阿新 • • 發佈:2020-10-25
給你兩個有序整數陣列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