如何有效地随机化所有相同浮点数的相对较小的数组以保留总和?
例如:
我有一个相等的浮点数组:
[ 0.1, 0.1, 0.1, 0.1, 0.1 ] // sum === 0.5
我想像这样随机化它:
[ 0.1, 0.2, 0.0, 0.15, 0.05 ] // sum === 0.5
初始数组始终具有相同的值,但它可以在不同的范围内:
[ 3.56, 3.56, 3.56, 3.56, 3.56 ]
我不知道这些初始数组最终的实际大小,但我猜它们的长度将在 50 到 100 个之间。
(仅供参考:这些是音符持续时间,如果算法是音乐的,则加分)