例: リストがあります:
1 2 3 7 8 9 11 12
範囲 (A,B) がリストと重複しているかどうかを確認する必要があります。たとえば、範囲 (4, 6) はリストと重複しておらず、範囲 (10, 12) と範囲 (5,9) はリストと重複しています。リストを hashSet に入れることができることはわかっています。次に、範囲内の要素がそのセットに含まれているかどうかを確認します。これには O(N) のコストがかかります。N は範囲の長さです。この問題を解決するためのより良いアルゴリズムはありますか? インターバル ツリーのデータ構造があることは知っていますが、よくわかりません。その構造はlogNでこの問題を解決できますか?