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 = m
while i <len(nums2):
nums1[j]= nums2[i]
i +=1
j +=1
nums1.sort()
时间复杂度:
O
(
(
m
+
n
)
l
o
g
(
m
+
n
)
)
O((m+n)log(m+n))
O((m+n)log(m+n))
空间复杂度:
O
(
l
o
g
(
m
+
n
)
)
O(log(m+n))
O(log(m+n))
3.官方的解决方案
代码可以简化
classSolution:defmerge(self, nums1: List[int], m:int, nums2: List[int], n:int)->None:"""
Do not return anything, modify nums1 in-place instead.
"""
nums1[m:]= nums2
nums1.sort()
时间复杂度:
O
(
(
m
+
n
)
l
o
g
(
m
+
n
)
)
O((m+n)log(m+n))
O((m+n)log(m+n))
空间复杂度:
O
(
l
o
g
(
m
+
n
)
)
O(log(m+n))
O(log(m+n))