#-*-coding:utf8-*-
#@Time: 2019-10-20 18:09
#@File: 合并两个有序数组.py
#@SoftWare:PyCharm
#@Mac
class Solution:
# def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
def merge(nums1,m, nums2,n):
"""
Do not return anything, modify nums1 in-place instead.
"""
while m > 0 and n > 0:
if nums1[m-1] >= nums2[n-1]:
nums1[m+n-1] = nums1[m-1]
m -= 1
else:
nums1[m+n-1] = nums2[n-1]
n -= 1
if n > 0:
nums1[:n] = nums2[:n]
#方法二: 借助于temp
# temp = []
# if nums1[0] <= nums2[0]:
# temp.append(nums1[0])
# nums1[0].pop()
# else:
# temp.append(nums2[0])
# nums2[0].pop()
# return temp
if __name__ == '__main__':
nums1 = [1, 2, 3, 0, 0, 0]
m = 3
nums2 = [2, 5, 6]
n = 3
Solution.merge(nums1,m,nums2,n)
print(nums1)
1_合并两个数组
最新推荐文章于 2023-01-08 18:17:19 发布