中级
基数排序
未完成
中级参考
代码结构已给出,请填写 ____ 处
def radix_sort(____):
if not arr:
return arr
max_val = max(____)
exp = ____
while max_val // exp > ____:
arr = counting_sort_by_digit(____)
exp *= ____
return arr
def counting_sort_by_digit(____):
n = len(____)
output = [____] * n
count = [____] * ____
for x in arr:
digit = (____) % ____
count[digit] += ____
for i in range(____, ____):
count[i] += count[i - ____]
for i in range(____):
digit = (____) % ____
output[count[digit] - ____] = arr[i]
count[digit] -= ____
return output
示例
输入
print(radix_sort([170, 45, 75, 90, 802, 24, 2, 66]))
期望输出
[2, 24, 45, 66, 75, 90, 170, 802]
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199