https://www.hackerrank.com/challenges/c ... /417205559
Ihr Ziel ist, die Anzahl der Wege zu finden Erstellen Sie ein Array, sodass aufeinanderfolgende Positionen unterschiedliche Werte enthalten.
Konkret möchten wir ein Array mit Elementen erstellen, sodass jedes Element zwischen und (einschließlich) liegt. Wir möchten auch, dass das erste und das letzte Element des Arrays 1 und x sind.
Es erhält dort auf rekursive Weise die Anzahl der Elemente und die Auswertung der Permutationen.
Code: Select all
cache=[]
_build_dp=_build_dp
def _build_dp(last, s, array, rest, x, n):
for j in reverse(len(n):
if len(rest)>n:
return 0
if n==2:
if s!=x:
return 1
else:
return 0
_count=0
if (len(rest)==n):
for i in rest:
if i!=s:
_count+=_build_dp(s, i, array, [ j for j in rest if j!=i ], x, n-1)
else:
for i in array:
if i!=s:
_count+=_build_dp(s, i, array, [ j for j in rest if j!=i ], x, n-1)
return _count