Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 점프 게임

<시간/>

음이 아닌 정수 배열이 있다고 가정합니다. 우리는 처음에 배열의 첫 번째 인덱스에 위치합니다. 주어진 배열의 각 요소는 해당 위치에서 최대 점프 길이를 나타냅니다. 마지막 인덱스에 도달할 수 있는지 여부를 결정해야 합니다. 따라서 배열이 [2,3,1,1,4]와 같으면 출력은 true가 됩니다. 이것은 위치 0에서 위치 1로 한 단계 점프한 다음 위치 1에서 끝까지 세 단계 점프하는 것과 같습니다.

단계를 살펴보겠습니다 -

  • n :=배열 A의 길이 – 1
  • i:=n – 1, -1까지
    • A[i] + i> n이면 n :=i
  • n =0이면 true를 반환하고, 그렇지 않으면 false를 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution(object):
   def canJump(self, nums):
      n = len(nums)-1
      for i in range(n-1,-1,-1):
         if nums[i] + i>=n:
            n = i
      return n ==0
ob1 = Solution()
print(ob1.canJump([2,3,1,1,4]))

입력

[2,3,1,1,4]

출력

True