首页 > 解决方案 > 如何解决排序算法

问题描述

给定一个只有 2 个唯一数字 [3,5] 的数字数组,在不创建新空间的情况下对列表进行排序。尝试用Python解决它,谢谢

示例 1:

输入:[3, 5, 3, 5, 5, 5, 3]

输出:[3、3、3、5、5、5、5]

标签: pythonalgorithmsorting

解决方案


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)

推荐阅读