java中找出数值最大的数 一道java面试题,20亿数字的文本排序,如何取前100?
一道java面试题,20亿数字的文本排序,如何取前100?
因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度是k,时间复杂度是nlogk
这个问题对任何语言都是一样的。从一门语言开始,我们首先需要了解语言语法(可以使用),然后了解标准库(可以使用)。有了这两个步骤和对其他语言的一点了解,我们就可以开始了。我们学校招收的很多毕业生都已经转学了1-2个月,你可以带着皮带走到这个阶段。
剩下的是第三步,通过项目或产品的实践加深对技术和业务的理解。在这个阶段,我们通常依靠自学、谷歌和理解。两三年后,我们可以发现,有些人对技术和业务的了解很深(老手),有些人还很肤浅。这段时间通常是另一个跳槽阶段。在这个时候,不同的人的工资水平会有很大的差异。
总而言之,程序员最重要的是持续学习(第三阶段)。事实上,IT行业是一个需要不断学习的行业(因为技术更新太快)。初出茅庐,我们都有同样的基础和能力。这一差距将在2-3年后出现。如果你是贫穷的一方,那就意味着你工作不够努力。
最后,Java主要用于服务器。由于其出色的内存管理,它阻止了许多程序员的能力差异(能力较弱的程序员可以编写较少的糟糕系统),并且适合于长期的服务器项目(如web和其他非UI应用程序)。
虽然也有优秀的UI库(如SWT)和优秀的桌面应用程序(如idea、eclipse和netbean),但是桌面软件应用程序仍然很少,需要带JRE,所以负担相对较大。
java中找出数值最大的数 找出一个数组中的最大值 java最大值最小值代码
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。