给你两个按 非递减顺序 排列的整数数组 nums1
和 nums2
,另有两个整数 m
和 n
,分别表示 nums1
和 nums2
中的元素数目。
请你 合并 nums2
到 nums1
中,使合并后的数组同样按 非递减顺序 排列。
示例 1:
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出:[1,2,2,3,5,6]
示例 2:
输入:nums1 = [1], m = 1, nums2 = [], n = 0
输出:[1]
示例 3:
输入:nums1 = [0], m = 0, nums2 = [1], n = 1
输出:[1]
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.
"""
i = 0
while i<n:
j = 0
for a in range(m+n):
if nums2[i]<nums1[a] or a==m+i: # a==m+i a到后面的0了,表示nums1的数都小于nums[i]
j=a
break
for a in reversed(range(m+n)):
nums1[a]=nums1[a-1]
if a==j:
nums1[j]=nums2[i]
break
i+=1
return nums1
自己的写法,等下看看别人怎么写的
标签:数组,示例,int,List,88,有序,nums1,nums2 From: https://blog.51cto.com/u_16123878/6859728