retrocedendo n escadas no máximo k passos em um único salto
Você precisa subir uma escada que tem n degraus e decide fazer algum exercício extra pulando os degraus. Você pode cobrir no máximo k etapas em um único salto. Devolva todas as sequências possíveis de saltos que você poderia fazer para subir a escada, classificadas.
Minha implementação está obviamente me dando a resposta errada.
def climbingStaircase(n, k):
final_res=[]
final_res.append(CSR(n,k,[]))
return final_res
def CSR(n,k,res):
if n == 0:
return res
else:
for i in range(1,k+1):
if n-i>=0:
res.append(i)
n=n-i
res=CSR(n,i,res)
return res
Para n = 4 e k = 2, a saída deve ser
[[1, 1, 1, 1],
[1, 1, 2],
[1, 2, 1],
[2, 1, 1],
[2, 2]]
Saída real:
[[1,1,1,1,2,1]]
Alguém pode apontar qual parte estou faltando?