mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-24 20:16:06 +00:00
build
This commit is contained in:
@@ -151,16 +151,16 @@ comments: true
|
||||
# 左子数组区间 [left, mid]
|
||||
# 右子数组区间 [mid + 1, right]
|
||||
# 初始化辅助数组
|
||||
tmp: list[int] = list(nums[left : right + 1])
|
||||
tmp = list(nums[left : right + 1])
|
||||
# 左子数组的起始索引和结束索引
|
||||
left_start: int = 0
|
||||
left_end: int = mid - left
|
||||
left_start = 0
|
||||
left_end = mid - left
|
||||
# 右子数组的起始索引和结束索引
|
||||
right_start: int = mid + 1 - left
|
||||
right_end: int = right - left
|
||||
right_start = mid + 1 - left
|
||||
right_end = right - left
|
||||
# i, j 分别指向左子数组、右子数组的首元素
|
||||
i: int = left_start
|
||||
j: int = right_start
|
||||
i = left_start
|
||||
j = right_start
|
||||
# 通过覆盖原数组 nums 来合并左子数组和右子数组
|
||||
for k in range(left, right + 1):
|
||||
# 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
|
||||
@@ -182,7 +182,7 @@ comments: true
|
||||
if left >= right:
|
||||
return # 当子数组长度为 1 时终止递归
|
||||
# 划分阶段
|
||||
mid: int = (left + right) // 2 # 计算中点
|
||||
mid = (left + right) // 2 # 计算中点
|
||||
merge_sort(nums, left, mid) # 递归左子数组
|
||||
merge_sort(nums, mid + 1, right) # 递归右子数组
|
||||
# 合并阶段
|
||||
|
||||
Reference in New Issue
Block a user