合并两个有序数组
方法一:先合并再排序
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.
"""
# 先合并
for i in range(m, m+n):
nums1[i] = nums2[i - m]
# 再排序
nums1.sort()
方法二:从尾部按序插入表
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.
"""
pos_1, pos_2 = m, n
count = 0
while pos_1 > 0 and pos_2 > 0:
# 从nums1的末尾开始填入数字
pos = m + n - count - 1
if nums1[pos_1 - 1] <= nums2[pos