classSolution:defmerge(self, nums1: List[int], m:int, nums2: List[int], n:int)->None:"""
Do not return anything, modify nums1 in-place instead.
"""
i=0
j=0
k=0
l=m+n
nums3 = nums1[:m]while k<l:if i != m and j != n:if nums3[i]<= nums2[j]:
nums1[k]= nums3[i]
i+=1
k+=1else:
nums1[k]= nums2[j]
j+=1
k+=1elif i == m:
nums1[k::]=nums2[j::]breakelse:
nums1[k::]=nums3[i::]breakreturn nums1
defmerge_sort(nums1, nums2):
m =[]
i, j =0,0while nums1 and nums2:if nums1[i]<= nums2[j]:
temp = nums1.pop(i)
m.append(temp)else:
temp = nums2.pop(j)
m.append(temp)
m = m + nums1 + nums2
return m