例: リストが[1,2,3,4,5,6,7,8]
あり、それを 20 の長さに「伸ばす」必要があり、既存の値をできるだけ均等に分散させ、「欠落している」値を置き換えNone
、結果のリストは 1 で始まり 8 で終わる必要があります。
元のリストの値と 20-8 個の None 値の間には 8-1 個のスペースがあるため、すべての「スペース」に 1 個の None を配置できます。
[1, None, 2, None, 3, None, 4, None, 5, None, 6, None, 7, None, 8]
これで、まだ 12 ~ 7 個None
の値を配布する必要があり、そのうちの 4 個を 1 つおきのスペースに配布できます。
[1, None, None, 2, None, 3, None, None, 4, None, 5, None,None 6, None, 7, None,
None, 8]
これで、ランダムに割り当てることができるものが 1 つ残っています。
[1, None, None, 2, None, 3, None, None, 4, None, 5, None, None, 6, None, None 7,
None, None, 8]
このようなタスクを実行できるアルゴリズムはありますか? たぶん実装?