Я хочу создать случайные пары чисел в пределах 2 диапазонов.
Так, например, если я хочу 3 случайные пары чисел, где 10 [[11,35],[15,30],[15,42]] но не [[11,35],[11,35],[12,39]]
Я хотел бы, чтобы эффективный (как в вычислительном отношении, так и в отношении памяти) алгоритм сделал это.Язык на самом деле не имеет значения, потому что я могу адаптировать его позже (хотя Python будет предпочтительнее).
До сих пор лучшая идея, которую я имел, - это создать словарь со всеми возможными числами в n1 и в качестве значенийсписок номеров, которые были использованы в n2.Тогда я могу просто выбрать случайное число n1 и найти число, которое не использовалось в наборе n1 [n2].
Хотя это не очень эффективно для космоса, и я надеюсь на что-то лучшее.Кажется также, что в вычислительном отношении неэффективно много раз находить число, не входящее в n1 [n2].
Я мог бы также сделать обратное, чтобы в словарь были добавлены все неиспользуемые числа, и просто вывести случайное числосписок.Но это заняло бы гораздо больше места.
Есть ли эффективный способ сделать это?Является ли это общей проблемой?
Редактировать: Было бы хорошо, если бы ее можно было легко расширить до большего числа измерений (таким образом, наборов из N чисел).Но это пока не нужно.