線上の点がこの線のサブセット内にあるかどうかを判断するための最速の方法を探しています。整数のポイントが与えられ、次のいずれかの「リスト」もあります。
- 整数で表されるポイント(3、10、1000など)
- 私が2つの整数で表す間隔(2:10は、2から10までのすべての整数、50:60など)
この例では、ポイントの値が5の場合、55の場合と同じように、間隔に含まれているためtrueを返します。ポイントが1000に等しい場合は、ポイントのリストと一致するため、trueも返します。
私は、この状態をチェックするための高速な方法(線形よりも速い)を探しています。可能なポイントの数だけ整数をインスタンス化する必要はありません(つまり、1:1000の間隔では、1000個の整数をインスタンス化する必要はありません)。これは対数時間で実行できますか?
ありがとう
編集:データのリストを前処理するのにかかる時間は0に等しいと見なすことができます。これは、最初の間隔が処理されたら、このテストを10kポイントに適用する必要があるためです。