一連の数値を指定して、完全な「数値範囲」セットを作成する必要があります。次のようなリストから始めます。
ID START
* 0
a 4
b 70
c 700
d 701
e 85
- ここで、「def」はデフォルトの範囲であり、ギャップを「埋める」必要があります
- 「重複」は開始データの値 (70、700、701) です。
そして、次の結果が必要です。
ID START END
* 0 - 39
a 4 - 49
* 5 - 69
c 700 - 7009
d 701 - 7019
b 702 - 709
* 71 - 849
e 85 - 859
* 86 - 9
私が理解しようとしているのは、これに取り組むための何らかのアルゴリズムまたは設計パターンがあるかどうかです。いくつかアイデアはありますが、最初は「専門家」に任せようと思いました。私はPythonを使用しています。
どんなアイデアや方向性も大歓迎です。私が持っているいくつかの最初のアイデア:
- 開始値と終了値が完全にパディングされた「範囲」リストを作成します。したがって、デフォルトは 0000 から 9999 になります
- その場で作成される「分割」リストを作成する
- 各値を分割リストの値と比較する「範囲」リストをループします。
- 重複が見つかった場合は、分割リストの値を削除し、新しい範囲を追加します。