* 合并两个有序数组
思路一:合并之后再排序,时间O((m+n)log(m+n))
思路二:双指针 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 p3 = m + n - 1 while p1 >= 0 and p2 >= 0: if
nums1[p1] < nums2[p2]: nums1[p3] = nums2[p2] p2 -= 1 else: nums1[p3] = nums1[p1]
p1-= 1 p3 -= 1 nums1[0:(p2+1)] = nums2[0:(p2+1)] return nums1 # 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. # """ # nums1[:] =
sorted(nums1[:m] + nums2)

技术
©2019-2020 Toolsou All rights reserved,
【jvm学习】执行引擎python(基本介绍)用户管理和文件权限C++第五章多态性习题:(快大结局了)VHDL——含异步清零和同步使能的加法计数器源程序Windows网络服务渗透测试实战-跨网段攻击JavaScript百炼成仙 1.15 天秀找出游戏的获胜者(java)单片机能做什么,你有什么有单片机或开源硬件做的有意思的作品吗一份笔记让你从 15K 涨薪并跳槽到32K+16