首页 > 常见问答

java字符串排列组合算法 一道java面试题,20亿数字的文本排序,如何取前100?

一道java面试题,20亿数字的文本排序,如何取前100?

因为这是一个java问题,所以这是典型的topk问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度为k,时间复杂度为nlogk

两个月相当充裕。

这两个月大致分为八周(56天)

第一周和第二周:

java字符串排列组合算法 一道java面试题,20亿数字的文本排序,如何取前100?

学习基础知识的主要方法是看java编程思想,用java实现各种数据结构,多做些事情,敲出每个知识点。

第三,四周:

关于项目,做一些简单的java项目,了解ssh框架。一两个星期就够了。

第5周:

学习java的高级功能很困难,但实际情况并不多。如果你不明白,就看大牛的科技博客吧。

第6周:

阅读《深入了解java虚拟机》一书,了解java的运行机制。

第7、8周:

阅读和编写优秀项目的源代码,阅读github上的代码,并了解一些常见java类的实现。

java字符串排列组合算法javareplace替换第一个java字符串数组按字母排序

原文标题:java字符串排列组合算法 一道java面试题,20亿数字的文本排序,如何取前100?,如若转载,请注明出处:https://www.saibowen.com/wenda/24489.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。