私はこの質問を解決しようとしていますが、これを機能させる方法に行き詰まっています。質問を投稿してから、私がどこにいるのかを説明します。
合計サイズ n の一連の水平線分と垂直線が与えられた場合、各垂直線が交差する水平線分の数を計算します。アルゴリズムは複雑さ O(n*logn) である必要があり、並べ替えとそれに続く線形スキャンによって実現する必要があります。水平線分は 2 つの x 座標と y 座標で指定され、垂直線は 1 つの x 座標で指定されます。出力は、数値 count[l] の配列で、垂直線 l ごとに 1 つです。
並べ替えについては、線が最も早く終了するセット全体を並べ替えると思います (つまり、最小の 2 番目の x 座標、または垂直線の場合は 1 つの x 座標のみ)。すべての行。並べ替えに続く線形スキャンをどのように実行するかについて、私は混乱しています。誰かがヒント、ヒント、またはガイドラインを持っていれば、私はそれを感謝します!
PS: これは中間テストの練習なので、必ずしも宿題ではありませんが、宿題としてマークします。