LeetCode--88. Merge Sorted Array(合并有序数组)python

题目:

给定两个有序数组 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]

猜你喜欢

转载自blog.csdn.net/xiaoxiaoley/article/details/80318286