auto commit

This commit is contained in:
CyC2018
2018-02-22 16:42:26 +08:00
parent dde5eb3e12
commit a5fcbc1ba4

View File

@ -578,21 +578,83 @@ public String findLongestWord(String s, List<String> d) {
### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **TopK Elements** <20><><EFBFBD>⣬ͨ<E2A3AC><CDA8>ά<EFBFBD><CEAC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>СΪ K <20>Ķѣ<C4B6><D1A3><EFBFBD><EFBFBD>е<EFBFBD>Ԫ<EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD> TopK Elements<74><73><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Kth Element <20><><EFBFBD><EFBFBD><E2A3AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD><D1B5>Ǹ<EFBFBD>Ԫ<EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD> Kth Element<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TopK Elements <20><><EFBFBD><EFBFBD><E2A3AC>Ϊ<EFBFBD>ҵ<EFBFBD> Kth Element ֮<><D6AE><EFBFBD><EFBFBD><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A3AC><EFBFBD><EFBFBD>С<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> Kth Element <20><>Ԫ<EFBFBD>ض<EFBFBD><D8B6><EFBFBD> TopK Elements<74><73><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>򶼿<EFBFBD><F2B6BCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Kth Element <20><> TopK Elements <20><><EFBFBD>⣬ֻ<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **TopK Elements** <20><><EFBFBD>⣬ͨ<E2A3AC><CDA8>ά<EFBFBD><CEAC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>СΪ K <20>Ķѣ<C4B6><D1A3><EFBFBD><EFBFBD>е<EFBFBD>Ԫ<EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD> TopK Elements<74><73><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Kth Element <20><><EFBFBD><EFBFBD><E2A3AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD><D1B5>Ǹ<EFBFBD>Ԫ<EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD> Kth Element<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TopK Elements <20><><EFBFBD><EFBFBD><E2A3AC>Ϊ<EFBFBD>ҵ<EFBFBD> Kth Element ֮<><D6AE><EFBFBD><EFBFBD><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A3AC><EFBFBD><EFBFBD>С<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> Kth Element <20><>Ԫ<EFBFBD>ض<EFBFBD><D8B6><EFBFBD> TopK Elements<74><73><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>򶼿<EFBFBD><F2B6BCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Kth Element <20><> TopK Elements <20><><EFBFBD>
**Kth Element**
[Leetocde : 215. Kth Largest Element in an Array (Medium)](https://leetcode.com/problems/kth-largest-element-in-an-array/description/)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD>[Solution explained](https://leetcode.com/problems/kth-largest-element-in-an-array/discuss/60294/Solution-explained)
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**<2A><>ʱ<EFBFBD><EFBFBD>Ӷ<EFBFBD> O(nlgn)<29><><EFBFBD>ռ<D5BC>Ӷ<EFBFBD> O(1) <20>
- ʱ<><EFBFBD>Ӷ<EFBFBD> O(nlgn)<29><><EFBFBD>ռ<D5BC>Ӷ<EFBFBD> O(1) <20><EFBFBD><E2B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- ʱ<><EFBFBD>Ӷ<EFBFBD> O(nlgk)<29><><EFBFBD>ռ<D5BC>Ӷ<EFBFBD> O(k) <20><EFBFBD><E2B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- ʱ<><EFBFBD>Ӷ<EFBFBD> O(n)<29><><EFBFBD>ռ<D5BC>Ӷ<EFBFBD> O(1) <20><EFBFBD><E2B7A8>QuickSelect
```java
public int findKthLargest(int[] nums, int k) {
int N = nums.length;
Arrays.sort(nums);
return nums[N - k];
}
```
**ToK Elements**
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**<2A><>ʱ<EFBFBD><EFBFBD>Ӷ<EFBFBD> O(nlgk)<29><><EFBFBD>ռ<D5BC>Ӷ<EFBFBD> O(k)
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD> P336](#)
```java
public int findKthLargest(int[] nums, int k) {
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int val : nums) {
pq.offer(val);
if(pq.size() > k) {
pq.poll();
}
}
return pq.peek();
}
```
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>**<2A><>ʱ<EFBFBD><EFBFBD>Ӷ<EFBFBD> O(n)<29><><EFBFBD>ռ<D5BC>Ӷ<EFBFBD> O(1)
```java
public int findKthLargest(int[] nums, int k) {
k = nums.length - k;
int lo = 0;
int hi = nums.length - 1;
while (lo < hi) {
final int j = partition(nums, lo, hi);
if(j < k) {
lo = j + 1;
} else if (j > k) {
hi = j - 1;
} else {
break;
}
}
return nums[k];
}
private int partition(int[] a, int lo, int hi) {
int i = lo;
int j = hi + 1;
while(true) {
while(i < hi && less(a[++i], a[lo]));
while(j > lo && less(a[lo], a[--j]));
if(i >= j) {
break;
}
exch(a, i, j);
}
exch(a, lo, j);
return j;
}
private void exch(int[] a, int i, int j) {
final int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
private boolean less(int v, int w) {
return v < w;
}
}
```
### Ͱ<><CDB0><EFBFBD><EFBFBD>