摘要: 题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。 思路:解法一、排序完后返回arr[N/2] O(nlgn) Arrays.sort(arr); System.out.println(arr[N/2]); 解法二、hash统计 解法三、顺序统计,就跟寻找乱序数组中第K大的数解法一 阅读全文
posted @ 2019-01-15 18:08 |旧市拾荒| 阅读(423) 评论(2) 推荐(0)
摘要: 题目:以尽量高的效率求出一个乱序数组中按数值顺序的第k 的元素值 思路:这里很容易想到直接排序然后顺序查找,可以使用效率较高的快排,但是它的时间复杂度是O(nlgn),我们这里可以用一种简便的方法,不一定需要排序,使用快速排序中双向分区的扫描方法,这里使用的是优化过后的三点中值法,具体思想一样,只是 阅读全文
posted @ 2019-01-15 16:04 |旧市拾荒| 阅读(628) 评论(0) 推荐(0)