私は9列×3行のグリッドを持っています(各列には3つのスロットがあります)。すべての列に最低1つのスロットをマークする必要があり、3つまでしかマークできません。マークは1,2または3桁で表されます。自己調整ランダムリスト
合計15個のマーキングスロットが常に存在する必要があります。これを達成するために、私は以下を試した:
var valueLeft = 15;
while (valueLeft > 0)
{
var ranValue = utils.getRandomInt(1,3);
console.log('slots remaining: ' + (valueLeft - ranValue));
if (ranValue >= valueLeft)
{
ranValue = valueLeft;
}
valueList.push(ranValue);
valueLeft -= ranValue;
}
console.log(valueList);
しかし、これはしばしば私に9個未満の要素を持つ数字の配列を与える。私の論理には欠陥があるのが分かりますが、私はいつもどのようにして15までの9要素のセットを与えることができるのか理解しようとしています。
たとえば、例えば: [2,2,1,1,1,2,3,1,2,1]
私が必要とするのは、 [2,2,1,1,1,1,1]です。 3,2,2] または [2,2,1,2,1,1,3,2,1]
などとすることができる。
アドバイスありがとうございます。
はこのようになります配列で始める:1,1,1,1,1,1ロジック:)
この例の構造と説明を理解できます。ありがとう:) – backdesk