三种硬币的奥数题 一道java面试题,20亿数字的文本排序,如何取前100?
浏览量:2850
时间:2021-03-23 17:30:32
作者:admin
一道java面试题,20亿数字的文本排序,如何取前100?
因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度是k,时间复杂度是nlogk
假设每种类型有10块,那么就变成了20美分可以交换多少块的问题
程序:
#include<conio。H>
#包括<stdio。H>
void main()
{
int one,two,five
for(one=0one<=20one)
for(two=0two<=10two)
for(five=0five<=4five)
if(one 2*two 5*five==20)
Printf(“one:%-2D--two:%-2D--five:%-2Dn”,one 10,two 10,five 10)
getch()}]~,有面试问题和答案。著名企业的面试问题很多。
同时,每天都会发表技术性文章,不仅让自己知道如何做面试题,更能真正了解技术。在最后的一对一面试中也会有所帮助。以下是一些文章的列表
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。