塞进裤子ヾ(≧O≦)〃嗷~

0%

leetcode-88合并两个有序数组

最初想法:

从尾部比较数据,两个指针分别指向nums1和nums2的尾部,比较大小。大的往后放。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def merge(nums1, m, nums2, n):
"""
:type nums1: List[int]
:type m: int
:type nums2: List[int]
:type n: int
:rtype: None Do not return anything, modify nums1 in-place instead.
"""
mylen = m+n-1
m -= 1
n -= 1
while m>=0 and n>=0:
if nums2[n] > nums1[m]:
nums1[mylen] = nums2[n]
n -= 1
else:
nums1[mylen] = nums1[m]
m -= 1
mylen -= 1
#其中一个数组比较完了的情况:
if m <0:
nums1[:mylen+1] = nums2[:n+1]

改进:

与官方相同,一次AC,good。

《剑指offer》果然有用

if help:小手一抖点个广告 or 大手一挥资助一下