美文网首页
Leetcode_88 Merge Sorted Array

Leetcode_88 Merge Sorted Array

作者: vcancy | 来源:发表于2018-04-19 17:19 被阅读0次

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1中,使得 num1 成为一个有序数组。

注意:

你可以假设 nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。在 nums1 和 nums2 中初始化的元素的数量分别是 m 和 n。

"""
分析:
题目中要求将nums2插入nums1中,最后存在nums1中
最后新的nums1的大小为m+n-1
倒序nums1和nums2,判断最后一位,越大的数放在新nums1的最后
"""

class Solution:
    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.
        """
        index = m + n - 1
        m = m - 1
        n = n - 1

        while n >= 0:
            if m >= 0 and nums1[m] > nums2[n]:
                nums1[index] = nums1[m]
                m -= 1
            else:
                nums1[index] = nums2[n]
                n -= 1
            index -= 1

相关文章

网友评论

      本文标题:Leetcode_88 Merge Sorted Array

      本文链接:https://www.haomeiwen.com/subject/jfzwkftx.html