- 707 名前:デフォルトの名無しさん [2008/10/18(土) 18:41:25 ]
- 範囲のリストに新しい1つの範囲を追加するアルゴリズムをお願いします。
例えば、[1,2][5,7][8,15]という範囲のリストがあります。 上記のリストに[3,5]という範囲を追加すると [1,2][3,5][5,7][8,15]に。 上記のリストに[1,6]という範囲を追加すると 新しく追加する範囲が常に優先されて、 [1,6][6,7][8,15]に。 上記のリストに[10,13]を追加すると[8,15]が2つに分割されて [1,2][5,7][8,10][10,13][13,15]。 リストは常にソートされているものとして、各範囲は重なって はいけません。上記で範囲[Start,End]でEndは含まれません。 範囲のリストに1万件とか2万件を高速に連続追加できれば幸いです。 よろしくお願いします。定石のアルゴリズムがありそうですが、私の実力ではわかりません。
|

|