python - 如何解决排序算法
问题描述
给定一个只有 2 个唯一数字 [3,5] 的数字数组,在不创建新空间的情况下对列表进行排序。尝试用Python解决它,谢谢
示例 1:
输入:[3, 5, 3, 5, 5, 5, 3]
输出:[3、3、3、5、5、5、5]
解决方案
num = [3, 5, 3, 5, 5, 5, 3]
i = 0
j = len(num) - 1
while i < j:
if num[i] == 3:
i += 1
continue
if num[j] == 5:
j -= 1
continue
num[i] = 3
i += 1
num[j] = 5
j -= 1
print(num)
推荐阅读
- google-sheets - 如何在 Google 表格中使用多个条件获取最后一条记录?
- ios - 链接来自不同 swift 文件的变量的正确方法是什么?
- python - 如何在 Python TKinter 中修复 '.!frame4.!canvas'
- jax-rs - Swagger Maven 插件未从 @BeanParam 注释参数生成参数
- c# - 当函数属于必须解析的类时,如何使用 IServiceCollection 注册委托或函数?
- tsql - TSQL,获取条件 X 的 ParentId 的子记录
- java - 如何解决 Maven 和 Jacoco 的特定版本问题?
- windows - Windows Server 2016 长文件路径支持
- c# - 使用physics2D时帧数大幅下降
- java - 从此格式获取当前日期 2019-06-30