Я ищу алгоритм, который создаст все подмножества массива, как если бы массив был
A = [1, 4, 6]
алгоритм сгенерирует:
[1,4,6,[1,4], [1,6], [4, 6], [1, 4,6]]
Примечание: мне нужна помощь с алгоритмом, а не с какой-то функцией
Вы можете построить решение на основе обратного отслеживания, чтобы сформулировать все возможные подпоследовательности для данного массива. Совместное использование одной и той же ссылки: https://ideone.com/V0gCDX
all = [] def gen(A, idx = 0, cur = []): if idx >= len(A): if len(cur): all.append(cur) return gen(A, idx + 1, list(cur)) incl = list(cur) incl.append(A[idx]) gen(A, idx + 1, incl) def solve(A): global all all = [] gen(A) return all print(solve([1, 4, 6]))