Предположим, у меня есть следующий массив:
array = [0, 1, 2, ... , n]
Как мне найти такой набор, чтобы все пары в наборе были уникальными и неповторяющимися элементами?
Это значитчто:
• (x, y) = (y, x), поэтому, если (x, y) находится в наборе, то (y, x) не будет и наоборот
• Если элемент уже используется, его нельзя использовать снова.
Например: если (1,2) в наборе, то в наборе не может быть пары с 1 или 2.
Контекст: я создаю игру памяти, котораяРазмещает монеты на доске из 2n элементов.Я хочу, чтобы каждая итерация игры размещала элементы в случайных местах на доске.
Например:
Suppose I have: [A, B, C, D, E, F]
Since [A, B, C, D, E, F] is length 6, then the board will consist of 12 elements.
My board will look like the following such that the elements were randomly placed:
A B C D
C A F B
E F E D
Честно говоря, я не знаю, как решить эту проблему без использования метода грубой силы O (n ^ 2).Я полагаю, что может быть другой алгоритм, который будет более эффективным.