我正在寻找最快的方法来确定一条线上的点是否在这条线的子集内。我得到一个整数点,我也有一个“列表”:
- 点,由整数表示(3、10、1000 等)
- 间隔,我用 2 个整数表示( 2:10 是从 2 到 10 的所有整数,包括 50:60 等)
在此示例中,如果我的点的值为 5,那么我返回 true,因为它包含在一个区间中,对于 55 也是如此。如果我的点等于 1000,我也返回 true,因为它与点列表匹配。
我正在寻找一种快速的方法(比线性更快)来检查这种情况,而不必实例化尽可能多的整数(即,对于 1:1000 的间隔,我不想实例化 1000 个整数)。这可以在对数时间内完成吗?
谢谢
编辑:您可以认为预处理数据列表所花费的任何时间都等于 0,因为一旦处理了我的初始间隔,我需要将此测试应用于 10k 点