我最近收到了一个面试问题,说你有一个有序的数字列表(元素的数量可能非常大,大约 100000),你要找到大于给定数字的最小数字,建议如何做到这一点O(log n)时间......我的第一个猜测是使用类似树的数据结构,面试官说是的,但是他们有构建这些树的开销,我是否可以建议另一种方法?我的明显答案是使用数组进行二进制搜索,但我想知道这是否可行,或者是否还有其他方法?
问问题
1466 次
我最近收到了一个面试问题,说你有一个有序的数字列表(元素的数量可能非常大,大约 100000),你要找到大于给定数字的最小数字,建议如何做到这一点O(log n)时间......我的第一个猜测是使用类似树的数据结构,面试官说是的,但是他们有构建这些树的开销,我是否可以建议另一种方法?我的明显答案是使用数组进行二进制搜索,但我想知道这是否可行,或者是否还有其他方法?