zoukankan      html  css  js  c++  java
  • leetcode_88. 合并两个有序数组

    给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
    
     
    
    说明:
    
    初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
    你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
     
    
    示例:
    
    输入:
    nums1 = [1,2,3,0,0,0], m = 3
    nums2 = [2,5,6],       n = 3
    
    输出:[1,2,2,3,5,6]
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/merge-sorted-array
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
    from typing import List
    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.
            """
            #从头部插入
            nums0=nums1
            nums1=[]
            p0=0
            p2=0
            while(p0<m and p2<n):
                if nums0[p0]<nums2[p2]:
                    nums1.append(nums0[p0])
                    p0+=1
                else:
                    nums1.append(nums2[p2])
                    p2+=1
            if p0==m:
                nums1.extend(nums2[p2:n])
            else:
                nums1.extend(nums0[p0:m])
    
    from typing import List
    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.
            """
            #从尾部插入
            p1=m-1
            p2=n-1
            p=m+n-1
            while(p1>=0 and p2>=0):
                if nums1[p1]>nums2[p2]:
                    nums1[p]=nums1[p1]
                    p-=1
                    p1-=1
                else:
                    nums1[p]=nums2[p2]
                    p-=1
                    p2-=1
            nums1[:p2 + 1] = nums2[:p2 + 1]
    
  • 相关阅读:
    axios的数据请求方式及跨域
    vuex 的介绍
    返回顶部的过渡式写法
    数据结构和算法——二叉树
    RecyclerView的刷新和加载更多
    希尔排序小结
    选择排序小结
    插入排序小结
    冒泡、快速排序小结
    数据结构和算法——递归算法
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14046073.html
Copyright © 2011-2022 走看看