Vzhledem k tomu, pole velikosti n, generovat a tisknout všechny možné kombinace r prvků v poli.
příklady:
Input : arr = , r = 2Output : , , , , , ]
tento problém má existující rekurzivní řešení. Tento problém vyřešíme v Pythonu pomocí itertools.kombinace () modul.
co itertools.kombinace () dělat ?
vrací R délky posloupnosti prvků ze vstupu iterable. Kombinace jsou vydávány v lexikografickém pořadí řazení. Pokud je tedy iterovatelný vstup tříděn, budou kombinační n-tice vytvořeny v seřazeném pořadí.
- itertools.kombinace (iterable, r) :
vrací n-tice délky r v řazeném pořadí bez opakovaných prvků. Například kombinace (‚ABCD‘, 2) ==>. - itertools.combinations_with_replacement (iterable, r) :
vrací n-tice délky v řazeném pořadí s opakovanými prvky. Například combinations_with_replacement (‚ABCD‘, 2) ==>.
from
itertools
import
combinations
def
rSubset(arr, r):
return
list
(combinations(arr, r))
if
__name__
=
=
"__main__"
:
arr
=
r
=
2
print
(rSubset(arr, r))
Výstup:
, , , , , ]
Tento článek je přispěl Shashank Mishra (Gullu). Pokud se vám líbí GeeksforGeeks a chtěli byste přispět, můžete také napsat článek pomocí contribute.geeksforgeeks.org nebo napište svůj článek na [email protected]. Viz váš článek se objeví na GeeksforGeeks hlavní stránce a pomoci jiných Mágů.