【发布时间】:2012-02-13 04:40:56
【问题描述】:
我真的只需要某种方法来找到 hashSet 中长度最大的所有字符串(无论是一个字符串还是多个字符串)。我想我应该先以某种方式对字符串长度的集合进行排序,然后再遍历它(从最长的字符串到最短的字符串,这样我就可以在看到所有最大长度的字符串后停止迭代)。谁能帮我弄清楚如何最好地解决这个问题(主要是关心如何有效地按长度对它们进行排序)?谢谢。
【问题讨论】:
-
您描述了一个
O(n log n)算法,该算法的天真实现是O(n):只需迭代一次,跟踪最长的字符串长度,然后再次获取该长度的所有字符串(这两个可以合并,但这可能不会更快)。 -
@perelman:哇,这么简单却这么聪明。谢谢!
标签: java string data-structures hashset