初级
快速排序
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
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
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199