数据结构 二分查找 输出前k大的数

(这个算法还没有使用二分算法)

根据道理,可以做出一个N+MlogM的算法,这个算法才真正设计难点

题目链接

#include <iostream>
#include <algorithm>
using namespace std;
int cmp(int a,int b)
{
	return a>b;
}
int main(void)
{
//	NlogN的算法  另外还有一种n+MlogM的算法 直接优化了相当多 
	int n;
	int a[100005];
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);	
	}	
	sort(a,a+n,cmp); 
	int m;
	scanf("%d",&m);
	for(int i=0;i<m;i++)
	{
		printf("%d\n",a[i]);
	}
} 
//这么简单也能...AC??? 

猜你喜欢

转载自blog.csdn.net/curiousliu/article/details/81176891
今日推荐