【发布时间】:2020-02-09 23:40:29
【问题描述】:
这是leetcode问题:
给定两个排序整数数组 nums1 和 nums2,将 nums2 合并为 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]
https://leetcode.com/problems/merge-sorted-array/
我的问题是“蛮力1”和“蛮力2”中的“nums1”和“nums1[:]”有什么区别?
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.
"""
nums1=sorted(nums1[0:m]+nums2[0:n])
return nums1
return,这是不正确的。
Your input
[1,2,3,0,0,0]
3
[2,5,6]
3
Output
[1,2,3,0,0,0]
Expected
[1,2,2,3,5,6]
解决方案2,正确
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.
"""
nums1[:]=sorted(nums1[0:m]+nums2[0:n])
return nums1[:]
Your input
[1,2,3,0,0,0]
3
[2,5,6]
3
Output
[1,2,2,3,5,6]
Expected
[1,2,2,3,5,6]
【问题讨论】:
标签: python-3.x list sorting slice