摘要: 快排的时间复杂度为O(nlogn)~O(n),是最快的排序算法,所以找到最小的k个数又不要求顺序的话,快排每次递归以基准值分割是个不缺的想法。 所以可以进行快速排序,当找到基准值的下标是k的时候,说明基准值前面有k个待排序数组中的小的数。 直接把前面的k个数当成子数组输出即可。 public cla 阅读全文
posted @ 2022-04-02 17:53 Dreamer_szy 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 快排算法的思想是基于分治的,首先定义一个基准值,将待排序数组分成两块。前一块是比基准值小的,后一块是比基准值大的。将这个基准值排序到它应该的位置的时候,这个时候基准值的位置已经确定了,之后就采用递归的方式分别对基准值前后两块待排序的子数组进行相同方法的排序。 public void quickSor 阅读全文
posted @ 2022-04-02 17:18 Dreamer_szy 阅读(292) 评论(0) 推荐(0) 编辑
摘要: java当中想要输入一个未知长度的数组,可以首先把运行窗口输入的一串数字看成是字符串,以分隔符分割,确定长度后再赋值给数组。 Scanner in=new Scanner(System.in); String[] strnums=null; strnums=in.nextLine().split(" 阅读全文
posted @ 2022-04-02 14:43 Dreamer_szy 阅读(1422) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示