程序检查是否可以从Python中的索引0到达最后一个位置
假设我们有一个称为nums的数字列表,其中每个数字表示我们可以进行的最大跳跃次数;我们必须检查是否可以到达从索引0开始的最后一个索引。
因此,如果输入类似于nums=[2,5,0,2,0],则输出将为True,因为我们可以从索引0跳转到1,然后从索引1跳转到结尾。
为了解决这个问题,我们将按照以下步骤操作:
n:=nums的大小
arr:=大小为n的数组,并用false填充
arr[n-1]:=真
对于范围在n-2到0的i,减1,
arr[i]:=如果arr[从索引i+1到i+nums[i]]中的任何一个为true,则为true
返回arr[0]
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, nums):
n = len(nums)
arr = [False] * n
arr[n - 1] = True
for i in range(n - 2, -1, -1):
arr[i] = any(arr[i + 1 : i + nums[i] + 1])
return arr[0]
ob = Solution()nums = [2,5,0,2,0]
print(ob.solve(nums))输入值
[2,5,0,2,0]
输出结果
True
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西