いくつかのプログラミングインタビューの準備中に良い質問が出ました。オーバーラップ間隔での基本的な間隔の検索
おそらくオーバーラップするインターバルのセットがある場合、その間にすべての基本インターバルを返す関数を記述する必要があります。例:{{1,5}、{3,10}、{5,11}、{15,18}、{16,20}}のペアのリストとして間隔が与えられている場合は、
{1,3}、{3,5}、{5,10}、{10,11}、{15,16}、{16,18}、{18,20 }}上記の回答に次
注
- 、入力における 非存在であるため、間隔{11,15}が回答を省略しています。
- 入力からの間隔{1,5}が、回答の{1,3}、{3,5} に分割されています。開始点が{3,10}で定義されているので、 その間隔を2つの基本間隔に切断する入力。 Javaで
メソッドシグネチャ:私は想像溶液の
List<Pair<Integer, Integer>> generateElementaryIntervals(List<Pair<Integer, Integer> intervals)
一つの非交差セットに入力を分離し、そして単純なO(NlogN)の各々における全ての数を超えるソートするました交差していない集合が答えを出す。より効率的な方法がありますか?
を
{x,y}
までの区間を削除し、継続言うあなたの質問は何ですか? –あなたが理解していないものは何ですか? – Kowshik
私は非常によく理解していますが、質問はしていません。あなたの投稿のどこにでも疑問符はありません。 Javaで解決したいのですか?それにアプローチする方法を知りたいだけですか?あなたはすでにそれについて考えていて、特定のポイントでハングアップしていますか?知りません。 –