class Solution:
def sortArray(self, nums: List[int]) -> List[int]:
def merge(nums1, nums2):
if not nums1 and not nums2:
return None
if not nums1:
return nums2
if not nums2:
return nums1
len1 = len(nums1)
len2 = len(nums2)
index1 = 0
index2 = 0
res = []
while index1 <= len1 - 1 and index2 <= len2 - 1:
if nums1[index1] <= nums2[index2]:
res.append(nums1[index1])
index1 += 1
else:
res.append(nums2[index2])
index2 += 1
while index1 <= len1 - 1:
res.append(nums1[index1])
index1 += 1
while index2 <= len2 - 1:
res.append(nums2[index2])
index2 += 1
return res
def mergesort(nums):
length = len(nums)
if length == 0:
return None
if length == 1:
return nums
if length > 1:
return merge(
mergesort(nums[: length
)
return mergesort(nums)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义