2016 - 2024

感恩一路有你

字符串大小怎么比较 挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

浏览量:2609 时间:2021-03-13 21:22:16 作者:admin

挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

1、4字节表示的整数数为2^32≈40亿,2字节表示的无符号整数数为2^16≈60000。

2、2G=2^31b≈20亿字节。

3、为了找出出现次数最多的数字,应记录每个数字的出现次数。最快的方法是记录每个数字在内存中出现的次数。记录方法是记录相应的存储器地址数和相应地址的存储器单元数。但是,2G内存只能记录20亿字节的数字,如果每个数字的出现次数大于255则会发生溢出,没有风险。因此,这种方案是不可取的。

4、这样,磁盘上只能记录每次出现的次数。这样,就在磁盘上创建了一个16g文件。每4个字节对应一个整数,可以对应40亿个整数。用于记录相应整数的个数。

1. 初始化文件。

2. 依次读取数据并用无符号整数记录在磁盘文件中。如果发生溢出,则该数字是次数最多的数字。

3. 从文件中读取每个数字的次数,用变量a记录最高次数,用变量B记录最高次数的数据,用文件依次记录最高次数的数据。当最大次数增加时,a1和B被设置为1,并且该数字被写入文件中。当出现相同次数的数字b1时,该数字被写入文件的相应位置,直到全部被读取为止。

所以您根本不需要2G内存。

对于大文本文件的读写有哪些高效的方法?

使用RandomAccessFile的class方法读取文件的速度会比一般方法快得多,然后使用缓冲区编写器将结果写入TXT。

如何用Excel统计某字符或关键字出现的次数?

Excel如何计算字符数或关键字数,借助Excel中的公式,我将以搜索字符串为例,从一个简单的公式入手,利用求和公式和搜索公式来计算次数,希望对您有所帮助。

Search主要用于查找指定区域中对应字符串的位置;

isnumber函数用于判断查询区域是否包含该字符串;

sumproduct函数也在前面提到过,用于指定序列的和,“-”可以将isnumber中的返回值转换为1或0。

介绍了两种使用Excel计算字符或关键字出现次数的方法。我更喜欢使用countif函数,它更容易理解。

如果您认为函数解释是好的,欢迎您喜欢它或转发它来支持我。DOS的文件名命名规则是8.3模式,即最多3个字符,在windows下扩展名可以很长。我最多可以试250个,你自己也可以试

字符串大小怎么比较 比较三个字符串的大小 字符串直接比较大小

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。