假设我有一根棍子,我把它切成碎片。给定原始杆上的一个点,有没有办法在恒定时间内找出它属于哪一块?
例如:
|------------------|---------|---------------|
0.0 4.5 7.8532 9.123
给定一个位置:
^
|
8.005
我想得到3rd piece
。
使用二进制搜索可以在 O(log n) 时间内轻松获得这样的答案,但是否可以在 O(1) 中完成?如果我以某种方式预处理“切割”位置?