程序员面试金典: 9.10 扩展性与存储限制 10.4限定内存下寻找重复的数
来源:互联网 发布:风水峦头自学 知乎 编辑:程序博客网 时间:2024/06/05 09:38
#include <iostream>#include <stdio.h>#include <vector>#include <bitset>using namespace std;/*问题:给定一个数组,包含1到N的整数,N最大为32000,数组可能包含含有重复的值,且N的取值不定。若只有4KB内存可用,该如何打印数组中所有重复的元素分析:每次碰到内存少或大数据 一定要想到;1)分组,2)位图,3)批处理 书上的解法:4KB = 32* 1024 bit 大于32000,所以可以直接用位图处理输入:5(N) 7(实际输入元素个数)1 2 3 4 5 3 5输出:3 5关键:1 每次碰到内存少或大数据 一定要想到;1)分组,2)位图,3)批处理 书上的解法:4KB = 32* 1024 bit 大于32000,所以可以直接用位图处理2 mBitset.reset();//位向量设置每个位为0*/void process(){int N , inputNum;int value;const int MAXSIZE = 32000;bitset<MAXSIZE> mBitset;vector<int> repeatedNums;while(cin >> N >> inputNum){mBitset.reset();//位向量设置每个位为0for(int i = 0 ; i < inputNum ; i++){cin >> value;//将数据保存到位图中int bitValue = mBitset.at(value);if(1 == bitValue){repeatedNums.push_back(value);}else{mBitset.at(value) = 1;}}//输出结果int size = repeatedNums.size();for(int i = 0 ; i < size ; i++){cout << repeatedNums.at(i) << " ";}cout << endl;}}int main(int argc, char* argv[]){process();getchar();return 0;}
0 0
- 程序员面试金典: 9.10 扩展性与存储限制 10.4限定内存下寻找重复的数
- 程序员面试金典: 9.10 扩展性与存储限制 10.2寻找社交网站中的朋友路径
- 程序员面试金典: 9.10 扩展性与存储限制 10.6给定100亿个网址,如何检测出重复的文件?
- 程序员面试金典: 9.10 扩展性与存储限制 10.1如何搭建服务
- 程序员面试金典: 9.10 扩展性与存储限制 10.7想像有个Web服务器,实现简化版搜索引擎
- 程序员面试金典: 9.10 扩展性与存储限制 10.3产生1个不在含40亿个整数文件中的整数
- 程序员面试金典: 9.10 扩展性与存储限制 10.3产生1个不在含40亿个整数文件中的整数---优化解法
- 程序员面试金典: 9.10 扩展性与存储限制 10.5如果要设计一个网络爬虫程序,该怎么样避免陷入无限循环。
- 9.10扩展性与存储限制(三)——若只有4KB内存可用,该如何打印数组中所有重复的元素
- 扩展性与存储限制问题
- 内存限制下查找数组的重复数
- 寻找重复的数
- 寻找重复的数
- 9.10扩展性与存储限制(二)——给定一个输入文件,包含40亿个非负整数。产生一个不在该文件中的整数。内存限制:1GB
- 扩展性和存储限制
- 寻找重复的数-LintCode
- 扩展性与存储限制(二)——给定一个输入文件,包含40亿个非负整数。产生一个不在该文件中的整数。内存限制:1GB
- 9.10扩展性与存储限制(一)——对于超大型的社交网站,展示两个人之间的“连接关系”或“社交路径”
- 普通视图和物化视图的区别
- CSS的一些简单常识
- 阿里云解析动态公网
- Letter-moving Game 1月8日
- Java ObjectInputStream 和 ObjectOutputStream
- 程序员面试金典: 9.10 扩展性与存储限制 10.4限定内存下寻找重复的数
- fastjson过滤指定字段
- 2.(布局)TableLayout
- numpy学习笔记1---python学习笔记32
- Java DataInputStream 和 DataOutputStream
- 谷哥的小弟学前端(04)——CSS基础知识(2)
- OpenCV入门教程(4)-Mat类之表达式
- Java PrintStream 和 PrintWriter 打印流
- java中对List排序