题目:
给定两个有序数组 nums1 和nums2,将nums2合并到nums1,并使nums1依然是有序数组。样例如下:

解题思路:
对nums2进行遍历,遍历到nums2[i]时,判断nums2[i]和nums1中的每一个数比较,若nums2[i]<nums1[j],则将nums2[i]插入到nums1的j位置,并保存j的值,再遍历到nums2[i+1]时,nums1直接从j+1位置开始即可。
代码如下:
class Solution(object):
def merge(self, nums1, m, nums2, n):
"""
:type nums1: List[int]
:type m: int
:type nums2: List[int]
:type n: int
:rtype: void Do not return anything, modify nums1 in-place instead.
"""
count = 0
for i in range(len(nums2)):
while(nums1[count]<=nums2[i] and count<=m+i-1):
count = count + 1
nums1.insert(count,nums2[i])
count = count + 1
del nums1[-1]
本文介绍了一种将两个有序数组合并为一个有序数组的方法。通过遍历第二个数组并将其元素逐个插入第一个数组中适当的位置来实现。这种方法保持了数组的有序性。
1309

被折叠的 条评论
为什么被折叠?



