mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-11 19:30:59 +00:00
build
This commit is contained in:
@@ -147,11 +147,11 @@ comments: true
|
||||
|
||||
```python title="merge_sort.py"
|
||||
def merge(nums: list[int], left: int, mid: int, right: int) -> None:
|
||||
""" 合并左子数组和右子数组 """
|
||||
"""合并左子数组和右子数组"""
|
||||
# 左子数组区间 [left, mid]
|
||||
# 右子数组区间 [mid + 1, right]
|
||||
# 初始化辅助数组
|
||||
tmp: list[int] = list(nums[left:right + 1])
|
||||
tmp: list[int] = list(nums[left : right + 1])
|
||||
# 左子数组的起始索引和结束索引
|
||||
left_start: int = 0
|
||||
left_end: int = mid - left
|
||||
@@ -177,13 +177,13 @@ comments: true
|
||||
j += 1
|
||||
|
||||
def merge_sort(nums: list[int], left: int, right: int) -> None:
|
||||
""" 归并排序 """
|
||||
"""归并排序"""
|
||||
# 终止条件
|
||||
if left >= right:
|
||||
return # 当子数组长度为 1 时终止递归
|
||||
return # 当子数组长度为 1 时终止递归
|
||||
# 划分阶段
|
||||
mid: int = (left + right) // 2 # 计算中点
|
||||
merge_sort(nums, left, mid) # 递归左子数组
|
||||
mid: int = (left + right) // 2 # 计算中点
|
||||
merge_sort(nums, left, mid) # 递归左子数组
|
||||
merge_sort(nums, mid + 1, right) # 递归右子数组
|
||||
# 合并阶段
|
||||
merge(nums, left, mid, right)
|
||||
|
||||
Reference in New Issue
Block a user