Допустим, у вас есть набор / список / набор чисел: [1,3,7,13,21,19] (порядок не имеет значения). Допустим, по несущественным причинам вы запускаете их через функцию и получаете следующие пары:
(1, 13), (1, 19), (1, 21), (3,19), (7, 3), (7,13), (7,19), (21, 13), (21 , 19). Опять порядок не имеет значения. Мой вопрос включает в себя следующую часть: как узнать минимальное количество чисел, которые могут быть частью пары без повторения? Для этой конкретной последовательности это все шесть. Для [1,4,2] парами являются (1,4), (1,2), (2,4). В этом случае любое из чисел может быть исключено, так как все они попарно, но каждое из них повторяется, поэтому будет 2 (что 2 не имеет значения).
На первый взгляд это кажется проблемой обхода графа - числа - это узлы, ребра пар. Есть ли какая-то часть математики, которая занимается этим? У меня нет проблем с написанием алгоритма обхода, мне просто интересно, есть ли решение с меньшей сложностью по времени. Спасибо!