排序的字符串列表?查找列表长度而不使用长度函数

时间:2011-08-01 18:14:37

标签: java string sorting

给定一个排序的字符串列表,最后一个条目为null。你不能使用list.length来确定列表的长度,但是有一种比O(n)更有效的方法来查找列表的最终索引或列表的长度?

4 个答案:

答案 0 :(得分:2)

快而又肮脏,但它应该完成任务。

这就像猜测一个数字场景。从一个任意大的数字开始。

  1. 当密钥存在时,加倍。抛出IndexOutOfBounds后,继续执行第二步。
  2. 该索引是否存在?
    • 是的,然后将当前索引之上的下一个已知数字之间的差异减半,并添加到当前索引。
    • 否?然后将当前指数下的下一个已知数字与当前指数之间的差异减半。
  3. 好消息?这是O(logn)。坏消息?你有可能有logn / 2例外。

答案 1 :(得分:0)

听起来像是家庭作业。

查看List.iterator()和Iterator接口。

答案 2 :(得分:0)

使用二进制搜索会给你O(logn)

所以只需搜索空条目:)

答案 3 :(得分:0)

简单:使用'List.size()'方法。 Java“List”接口没有“length”字段或属性。

  

- →;