← 返回题库
初级

Insertion or Heap Sort

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(original, partial):
    original = list(map(int, original.split(',')))
    partial = list(map(int, partial.split(',')))
    n = len(original)
    is_insertion = False
    for i in range(1, n):
        if partial[:i+1] == sorted(partial[:i+1]) and partial[i+1:] == original[i+1:]:
            is_insertion = True
            break
    if is_insertion:
        print('Insertion Sort')
        i += 1
        if i < n:
            key = partial[i]
            j = i - 1
            while j >= 0 and partial[j] > key:
                partial[j + 1] = partial[j]
                j -= 1
            partial[j + 1] = key
    else:
        print('Heap Sort')
    print(' '.join(map(str, partial)))

示例

输入
3,1,2,8,7,5,9,4,6,0|1,2,3,7,8,5,9,4,6,0
期望输出
Insertion Sort
1 2 3 5 7 8 9 4 6 0
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码