Я пытаюсь заполнить массив случайными числами, но случайные числа должны быть на определенном минимальном расстоянии друг от друга.
Я заполнил массив 5 случайными числами от 0 до 100:
private var myArray:Array = new Array();
for (var i:uint = 0; i < 5; i++)
myArray.push(Math.round(Math.random() * 100));
далее я отсортировал массив в числовом порядке:
myArray.sort(Array.NUMERIC);
после заполнения и сортировки предположим, что myArray теперь содержит эти значения:
26, 27, 42, 92, 97
Теперь я хотел бы, чтобы некоторые или все значения массива были сброшены, если они должны быть такими, чтобы они были как минимум на определенный процент (скажем, 10%) от максимального значения (100) друг от друга. .
первые 2 значения (26 и 27) находятся на расстоянии не менее 10%, равно как и последние 2 значения (92 и 97). однако, если я просто переместил значение 27 на 10% из 26, так что 27 изменится на 37, 37 теперь конфликтует со следующим значением 42.
Каков наилучший подход для заполнения массива случайных чисел, значения которых будут, по крайней мере, на некотором процентном расстоянии друг от друга, но все еще случайными.
это может быть само собой разумеющимся, но я ищу решение, которое переносимо, где максимальные значения и минимальные проценты распределения могут быть любыми, не только для моего примера выше.