Coding: 一亿个数找最大的1000个数
描述
一亿个数找最大的1000个数,要求效率高占用内存少。函数原型为:find_max_data(int* source_data, int* max_data),其中source_data是存放一亿个数的数组,max_data用于存放其中最大的1000个数。
思路
使用multiset的自动排序功能(默认从小到大排列),每次插入比最小数更大的值。
代码
// 从1亿个数中找到最大的1000个数
void find_max_data(int *source_data, int length, int k)
{int count = 0;multiset<int> set;multiset<int>::iterator it;for(int i = 0; i < length; i++){if(count < k){set.insert(source_data[i]);}else{it = set.begin();if(*it < source_data[i]){set.erase(it);set.insert(source_data[i]);}}count++;}it = set.begin();// 打印for (; it != set.end(); it++){cout<<*it<<endl;}
}
Coding: 一亿个数找最大的1000个数相关推荐
- 在10亿个数中找出前1000个最大的
在10亿个数中找出前1000个最大的 假设现在有一个文件,里面存放了10亿个整数,需要找出前1000个最大的. 方法: 1.普通排序,部分排序:几乎不可取. 2.分治法:随机选一个数t,然后对整个数组 ...
- 从十亿个数中找出前1000个最大的数的算法
10亿个数中找出1000个最大的数的算法思路: 1,先拿出前1000个数字,并排序,找出最小值为 minValue . 2, 然后再依次拿出1000个数字,找出最大值为 tempMaxValu ...
- 【面试现场】如何在10亿数中找出前1000大的数
小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 之前小史在BAT三家的面试中已经挂了两家,今天小史去了BAT中的最后一家面试了. 简单的 ...
- 如何在10亿个整数中找出前1000个最大的数?
作者:vincent-duan,专注 Java,沉迷开源,架构师社区合伙人! 面试题目:如何在10亿个整数中找出前1000个最大的数. 我们知道排序算法有很多: 冒泡算法:通过两层for循环,外层第一 ...
- 如何在10亿个整数中找出前1000个最大的数(TopN算法)
面试题目:如何在10亿个整数中找出前1000个最大的数. 我们知道排序算法有很多: 冒泡算法:通过两层for循环,外层第一次循环找到数组中最大的元素放置在倒数第一个位置,第二次循环找到第二大的元素放置 ...
- 如何在 10 亿数中找出前 1000 大的数?
作者 | channingbreeze 责编 | 胡巍巍 小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 之前小史在BAT三家的面试中已 ...
- 100亿数据找出最大的1000个数字的4种方法
100亿数据找出最大的1000个数字 面试题:解决的四种方法: 方法一:全排序法 1.最容易想到的方法是将数据全部排序.该方法并不高效,因为题目的目的是寻找出最大的10000个数即可,而排序却是将所有 ...
- 100亿数据找出最大的1000个数字
这是互联网领域一个比较经典的算法问题(top k),如何在巨大的数据中找出最大,或者访问量最高的前10个,前100个或者前1000个数据.比如在2亿用户记录中找出信用等级最高的,在上亿个搜索词汇中找出 ...
- 【转】5亿个数找中位数
原文链接:http://www.cnblogs.com/qianye/archive/2012/11/29/2794533.html 找中位数最容易想到的方法就是,先对序列进行排序,取中位数,然而5亿 ...
最新文章
- php计算经纬度间的距离
- 【SpringMVC 之应用篇】 2_SpringMVC 的传参问题
- 什么是 Webpack?【Webpack Book 翻译】
- SAP Spartacus的b2cLayoutConfig
- MVC Web.Config 配置错误
- java面向对象(this关键字)
- 不愿意和别人打交道_如果你的交际能力很差,不喜欢与人打交道,这3种职业最适合你...
- LeetCode 290. 单词规律(哈希)
- 云原生日志管理瑞士军刀 Fluent Operator 中文入门教程
- [《回家寄事》闲笔记事集]2010年1月18日
- CentOS利用WebHook实现PHP自动部署Git代码
- 守望先锋战网服务器维护多长时间,守望先锋国服压力测试多长时间 压力测试删档吗等问题解答...
- win10 + Ubuntu 20.04 LTS 双系统 引导界面美化
- 帝豪gs车机系统wince_用销量告诉你答案 选帝豪GS准没错
- system(“pause“);
- 基于PHP的校园留言板系统(带后台管理)
- 转换word等文件为swf文件
- VM虚拟机-三种网络连接方式(桥接、NAT、仅主机模式)
- 邓迪大学信息无障碍相关项目概要
- redis的key都变成了backup,值也都不见了,这是为什么呢?