一道java面试题,20亿数字的文本排序,如何取前100?
这是topk的经典问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度是k,时间复杂度是nlogk
事实上,大多数开发规范都禁止使用magicvalue(未定义变量),因为它有很多缺点。
在开发过程中,要养成良好的编码习惯,避免使用魔术值,提高代码的正确性和可维护性。
原文标题:java基础编程题 一道java面试题,20亿数字的文本排序,如何取前100?,如若转载,请注明出处:https://www.dnheimuer.com/tougao/18147.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「东宁黑木耳网」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。