发现 leetcode 很多问题在业务性能上有用处。我都想要一个 util ,就是像 top-k 大, 合并顺序数组,permutation 之类的。有没有这样一个类似于 apache common 的工具可以直接调用呢? 这些算法既然经常考,性能又高,但好像找不到这样的一个标准库实现。
谢谢大家
1
dqzcwxb 2022-08-31 22:25:41 +08:00
java.util.Arrays#parallelSort(T[], java.util.Comparator<? super T>) 的 TimSort 算法本身就是最优秀的排序算法之一,所以手写排序的需求在 java 这里基本没有
|
2
golangLover OP @dqzcwxb 顺序数组那你这个排序不就有点多余了?
|
3
ufan0 2022-09-01 02:10:22 +08:00
所谓这些经常考的算法,面试者能给出的答案其实性能并不高,勉强拿得上台面。不说学术级,工业级的实现都不知道比面试考的高多少个档次。
回归正题,在 github 看算法第四版代码的时候有看到这样的项目,你可以根据算法第四版关键字找下,对于具体业务场景,可定制化性几乎莫得。 有定制能力的人不会用这样的项目毕竟目前没有背书贸然用成本更高,没定制化能力的人用不来改不动看不懂。 总而言之,这种项目在我个人看来索然无味。都是些简单的算法,直接写就行,没必要去刻意寻找此类项目,实在需要可以参考国外大学的网站,有很多教科书级实现,比如 https://introcs.cs.princeton.edu/java/home/。 |
4
helloworld000 2022-09-01 04:57:10 +08:00
guava?
|