我試圖用隨機數填充一個數組,但隨機數必須是彼此相距一定的最小距離。用最小的間隔符/分佈填充隨機數組的數組?
我已經填充的數組具有5張隨機數之間0 - 100:填充和排序讓我們假設後
myArray.sort(Array.NUMERIC);
:
private var myArray:Array = new Array();
for (var i:uint = 0; i < 5; i++)
myArray.push(Math.round(Math.random() * 100));
下我已經排序按數值順序排列myArray現在包含以下值:
26, 27, 42, 92, 97
現在我想讓一些礦石的所有數組值被重置,如果他們需要的話,至少它們至少是相互之間最大值(100)的某個百分比(比方說10%)。
前2個值(26和27)相距至少10%,最後2個值(92和97)都不是。但是,如果我只是將值27從26中移出10%,以便將27更改爲37,37現在與下一個值42衝突。
什麼是填充隨機數數值的最佳方法誰的值將至少相互隔開一定的百分比,但仍然是隨機的。
它可能會不言而喻,但我正在尋找一個可移植的解決方案,其中最大值和最小分佈百分比可以是任何東西,而不僅僅是我上面的示例。
你關心命令嗎?例如,「10 30 50」和「50 10 30」是否有所不同,或者您是否對其進行分類? – Ishtar 2011-02-05 16:46:53