题目:​​原题链接​(简单)

标签:排序、数组、双指针

解法

时间复杂度

空间复杂度

执行用时

Ans 1 (Python)

O ( N )

O ( 1 )

48ms (20.19%)

Ans 2 (Python)

Ans 3 (Python)

解法一:

class Solution:
def merge(self, A: List[int], m: int, B: List[int], n: int) -> None:
i, i1, i2 = m + n - 1, m - 1, n - 1
while True:
if i1 >= 0 and i2 >= 0:
if A[i1] >= B[i2]:
A[i] = A[i1]
i -= 1
i1 -= 1
else:
A[i] = B[i2]
i -= 1
i2 -= 1
elif i1 >= 0:
A[i] = A[i1]
i -= 1
i1 -= 1
elif i2 >= 0:
A[i] = B[i2]
i -= 1
i2 -= 1
else:
break