
算法
AcceptedF
这个作者很懒,什么都没留下…
展开
-
top K
1.最简单的思路是把输入的n个整数排序,排序后位于最前面的k个数就是最小的k个数,这种思路的时间复杂度为O(nlgn) public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return(nums[k]); }2.基于快速Partion函数解决,不需对所有的整数排序,只需找到数原创 2017-03-29 14:42:15 · 221 阅读 · 0 评论 -
各种常用排序算法
排序算法概述 1.选择排序 思路:以升序排序举例,从第一个数开始,和后面的数逐一比较,获取最小数的索引,并和第一个数交换;接下去从第二个数开始,和后面的数逐一比较,获取最小数的索引,并和第二个数交换;以此类推。 分析:对于长度为N的数组,选择排序需要大约N^2/2次比较和N次交换 代码: public static void selectSort(int[] a原创 2017-08-21 15:38:02 · 204 阅读 · 0 评论