摘要: 随机在数组范围中找一个“基准值”,并将其与数组最右元素交换作为基准。 与此“基准值”进行比较就可以得到三个区域:小于,等于,大于。递归此过程就可以将数组排好序。 时间复杂度:由于随机选取一个数,那么每个数的概率就是 1/N ,拿到的这个数有可能构成最好情况,有可能构成不好不坏的情况,有可能构成最差情 阅读全文
posted @ 2020-07-15 16:57 硬盘红了 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组ar,和一个数num,请把小于num的数放在数组的左边,等于num的数放数组的中间,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)额外空间复杂度为O(1),不能开辟另一个数组。 过程图解: public class NetherLandsFlag { pub 阅读全文
posted @ 2020-07-15 11:21 硬盘红了 阅读(206) 评论(0) 推荐(0) 编辑