找终点
nums 正整数数组,求第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数
要求:第一步从第一个元素开始,且1<= 第一步的步长<len/2
第二步开始,只能以所在成员的数字走响应的步数,不能多也不能少,如果目标不可达返回-1,只输出最少的步骤数量
s = '759426835439'
def findEnd():
nums = list(map(int,input().split()))
# nums = [7, 5, 8, 4, 2, 7, 8, 3, 5, 4, 3, 9]
n = len(nums)
res = []
for i in range(1, int(n / 2)):
count = 1
step = i
while True:
if step > n-1:
break
elif step == n-1:
res.append(count)
break
else:
count += 1
step += nums[step]
return min(res) if res else -1
没什么是暴力解法 解决不了的,解决不了的话,那就多写几个,O(∩_∩)O哈哈~