← 返回题库
初级

快速排序

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(nums):
    nums = list(map(int, nums.split(',')))
    n = len(nums)
    left_max = [0] * n
    right_min = [float('inf')] * n
    for i in range(1, n):
        left_max[i] = max(left_max[i - 1], nums[i - 1])
    for i in range(n - 2, -1, -1):
        right_min[i] = min(right_min[i + 1], nums[i + 1])
    result = []
    for i in range(n):
        if nums[i] > left_max[i] and nums[i] < right_min[i]:
            result.append(nums[i])
    print(len(result))
    if result:
        print(' '.join(map(str, sorted(result))))

示例

输入
solve('1,3,2,4,5')
期望输出
3
1 4 5
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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