面试官:手写一个快排吧~

快排思路,分治的思想

  1. 选择基准值

  2. 每遍历一次数组,将数组元素分为 【小于基准值的】【大于基准值的】

对【】【】递归调用上述操作即可完成排序

数组元素为1直接返回

def quick_sort(arr):
    if len(arr) >= 2:
        key = arr[len(arr) // 2]  # 选取基准值
        right, left = [], []  # 定义左右两侧数组
        arr.remove(key)  # 从原数组中移除基准值

        for i in arr:
            if i < key:
                left.append(i)
            else:
                right.append(i)
        return quick_sort(left) + [key] + quick_sort(right)
    else:
        return arr


arr = [2, 3, 5, 7, 188, 4, 6, 15, 5, 2, 7, 9, 10, 15, 9, 17, 12]
arr = quick_sort(arr)
print(arr)   
重生之八股仙帝 文章被收录于专栏

曾有一千古奇人,精修八股文,成遁世之高人,彻天彻地畅游天地间。 今人皆忙忙,急于求成,岂不知八股乃道门口径,背负天人,若经熟读背诵,更能开拓智慧之门,探寻未来之路。 天下繁华,不尽长夜,唯有读书为伴,熟读八股文更是攀登高峰之路。磨砺文字,升腾智慧,唯有勤玉立志,始可破天荒,登临九重不竭之巅! 吾辈修炼之路,虽曲折荆棘,但信念不曾磨灭,唯有铭记八股精髓,方能指引灵魂归宿,成就一生辉煌!

全部评论
还得是Python
点赞 回复 分享
发布于 2023-09-03 12:33 北京
我承认,跟我之前见到的写法不一样
点赞 回复 分享
发布于 2023-08-29 17:56 广东

相关推荐

小浪_Coding:个人技能一条测试没有
点赞 评论 收藏
分享
评论
20
27
分享

创作者周榜

更多
牛客网
牛客企业服务