【发布时间】:2020-01-23 01:56:11
【问题描述】:
我正在尝试合并两个数组并返回排序后的数组(leetcode 上的#88),这是我使用的代码:
class Solution:
def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
if (m > 0 and n > 0):
merged = nums1[0:m] + nums2[0:n]
result = sorted(merged)
print(result)
return result
输入是
[1,2,3,0,0,0,0]
3
[2,5,6]
3
谁能解释一下为什么 print 和 return 给出不同的输出?
【问题讨论】:
-
您在哪里运行该代码?在本地运行时,我得到
[1, 2, 2, 3, 5, 6]作为标准输出和结果。 -
另外,你为什么要在输出中看到
0? -
List是自定义类吗?因为如果我要尝试使用您的代码:NameError: name 'List' is not defined -
@HubertGrzeskowiak 我的猜测是问题期望合并和排序在第一个列表中完成?
标签: python arrays python-3.x sorting return