《LeetCode 刷题》数组与队列
如何实现一个变长数组?
支持索引与随机访问
分配多长的连续空间
空间不够用了怎么办
空间剩余很多如何回收
88. 合并两个有序数组
复制代码
思路,利用列表的扩容原理,从右侧开始遍历,然后比较两个列表的元素大小,并进行相应的替换。需要注意的是不要有越界的情况发生。
本文字数:347 字
阅读完需:约 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 = m -1
j = n -1
for k in range(m+n-1, -1, -1):
if j < 0 or ( i >= 0 and nums1[i] >= nums2[j]):
nums1[k] = nums1[i]
i = i -1
else:
nums1[k] = nums2[j]
j = j -1
思路,利用列表的扩容原理,从右侧开始遍历,然后比较两个列表的元素大小,并进行相应的替换。需要注意的是不要有越界的情况发生。
一个日语专业的程序猿。 2017.09.10 加入
【坐标】无锡 【软件技能】Java,C#,Python 【爱好】炉石传说 【称号】InfoQ年度人气作者,Intel OpenVINO领航者联盟成员 【B站】https://space.bilibili.com/397260706/ 【个人站】www.it-worker.club
促进软件开发及相关领域知识与创新的传播
评论