gpt4 book ai didi

Python检查是否有可能通过左跳或右跳到达数组的最右端

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:04:52 25 4
gpt4 key购买 nike

我正在编写一个程序来判断游戏是可解还是不可解。游戏规则是:

  1. 你从最左边的位置开始
  2. 您可以在该位置按数组的值向左或向右跳,并且不能超出端点。例如:a={4,4,1,5,2,6,3,4,2,0} 你从最左边的位置开始,所以你可以跳到右边的 4 个位置到第 2 个位置(左边是不可能的)
  3. 我必须检查我们是否可以到达始终等于 0 的另一端。

  4. 如果我们能到达最右边(即 0)则它是可解的否则不可解

我试过在 Python 中使用递归,但不知道如何进行

 def KAuhop(b,c,d,current_position):
position_move=b[current_position]
if b[current_position+position_move]==0:
print("found")
else:
KAuhop(b,current_position+position_move,d,current_position)
print("Not found")




a=[4,4,1,5,2,6,3,4,2,0]
print(KAuhop(a,0,len(a)-1,0))

最佳答案

如果它可以向左或向右跳转位置,那么请说明程序应该何时结束或退出,否则它将变成无限循环,从一个位置跳到另一个位置。

请使用递归函数找到以下仅正确跳转的解决方案。

lis=[4,4,1,5,2,4,3,4,2,0]
last_pos=len(lis)-1
pos = 0+lis[0]

def kauhop(lis,pos):
if (pos==last_pos):
print("found")
exit;
else:
new_pos = pos+lis[pos]
if(new_pos <= last_pos):
kauhop(lis,new_pos)
else:
print("Not found")

kauhop(lis,pos)

关于Python检查是否有可能通过左跳或右跳到达数组的最右端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com