回答:
簡単な方法の1つは、ポイントを修正することです 、直線の傾きを計算する 他のすべてのポイントのハッシュテーブルに保存します 。衝突がある場合、次を含む共線ポイントがあります。。これには (ハッシュテーブル操作に )。次に、すべてのポイントでこれを行います 間に合う 。
また、ポイントラインの双対性を知っている場合(下記のArtiumのコメントを参照してください)、これは 可能な交差 行だけでなく、ハッシュテーブルも利用します。
また、この問題は3-SUM困難であるため、これが準二次時間で実行できるかどうかは明らかです。この回答を参照してください。