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]
    
  • 相关阅读:
    校赛writeup
    memory-300——Jarvis OJ
    校赛_warmup_pwn
    sctf
    iscc-pwn1
    level3-64——Jarvis OJ
    JarvisOJ——level2
    JarvisOJ——guestbook
    Javris oj——level0
    linux 服务器 tomcat环境部署出错 重启
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14046073.html
Copyright © 2011-2022 走看看