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

快排思路,分治的思想

  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)   
重生之八股仙帝 文章被收录于专栏

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

全部评论
我承认,跟我之前见到的写法不一样
点赞
送花
回复
分享
发布于 2023-08-29 17:56 广东
还得是Python
点赞
送花
回复
分享
发布于 2023-09-03 12:33 北京
滴滴
校招火热招聘中
官网直投

相关推荐

##&nbsp;1.&nbsp;题目描述如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的![img](https://www.nowcoder.com/equation?tex=%5Cbegin%7Bequation*%7D%0A%0AC_%7Bij%7D%20%3D%20%5Csum_%7Bk%3D0%7D%5E%7By-1%7DA_%7Bik%7D*B_%7Bkj%7D%0A%0A%5Cend%7Bequation*%7D%20(%E5%85%B6%E4%B8%AD0%20%5Cleq%20i%20%3C%20x%2C%200%20%5Cleq%20j%20%3C%20z))矩阵的大小不超过100*100###&nbsp;输入描述:第一行包含一个正整数x,代表第一个矩阵的行数第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数第三行包含一个正整数z,代表第二个矩阵的列数之后x行,每行y个整数,代表第一个矩阵的值之后y行,每行z个整数,代表第二个矩阵的值示例1:```输入:&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;2&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;2&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;3输出:&nbsp;&nbsp;&nbsp;&nbsp;14&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;10&nbsp;11说明:&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;2&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;2&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;乘以&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;等于&nbsp;&nbsp;&nbsp;&nbsp;14&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;10&nbsp;11&nbsp;```
点赞 评论 收藏
转发
20 26 评论
分享
牛客网
牛客企业服务