top k 问题解决
来源:互联网 发布:王者荣耀用java还是c 编辑:程序博客网 时间:2024/06/16 09:12
基于快排思想的查找
#include <iostream>using namespace std;int partaction(int *a,int left,int right) { int tmp=a[left]; while(left<right) { while(right>left&&a[right]>=tmp)//要有等号要不会出现你换过来我换过去的情况发生 { right--; } a[left]=a[right]; while(left<right&&a[left]<=tmp) { left++; } a[right]=a[left]; } a[left]=tmp; return left; } int search(int left,int right,int *arr,int k){int pos =partaction(arr,left,right);if(pos==k) return arr[pos];if(pos<k){return search(pos,right,arr,k);}if(pos>k){return search(left,pos,arr,k);}}int main(){int arr[10]={2,4,5,6,7,21,1,3,5,2};cout<<search(0,9,arr,2);}
小根堆的topk问题解决思想int main(){priority_queue<int,vector<int>,greater<int>> queue;int a[10] = { 2, 6, 7, 8, 1, 6, 4, 1, 3,0 };int k =1;int i;for (i = 0; i <k; i++){queue.push(a[i]);}for (i; i <10; i++){if (a[i] > queue.top()){queue.pop();queue.push(a[i]);}}cout << queue.top() << endl;}
阅读全文
0 0
- top k 问题解决
- TOP K
- Top K
- Top K
- TOP K
- top k
- TOP-K
- Top K
- Top k
- Top K algorithm
- Top K 算法详解
- TOP K问题
- Top K 算法
- Top K算法
- 区间 top k
- TOP K问题
- Top K问题
- mapreduce top K实现
- Web系统大规模并发——电商秒杀与抢购
- 微服务
- clearcanvas 相关资料
- RSA签名和验签
- edittext Android ui优化
- top k 问题解决
- 随手画个圆,你是怎么画的?我们分析了10万个圆,得到了这样的结论
- Python实例浅谈之二自定义异常
- 大咖 | 王汉生:从数据到价值的转化,回归分析的“道”与“术”
- 40个Java多线程问题总结
- 前端框架
- Seafile
- VMware Workstation Pro 下安装Liunx系统
- JDBC之执行SQL语句