跳跃游戏Python解法
生活随笔
收集整理的這篇文章主要介紹了
跳跃游戏Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個非負整數數組?nums?,你最初位于數組的?第一個下標?。
數組中的每個元素代表你在該位置可以跳躍的最大長度。
判斷你是否能夠到達最后一個下標。
列:
輸入:nums = [2,3,1,1,4] 輸出:true 解釋:可以先跳 1 步,從下標 0 到達下標 1, 然后再從下標 1 跳 3 步到達最后一個下標。 class Solution(object):def canJump(self, nums):""":type nums: List[int]:rtype: bool"""start, end = 0, 0 # 判斷位置,當前能到達的最遠位置n = len(nums) # 數組長度while start <= end and end < n-1: # 當前位置不得超過能到達的最遠位置,最遠位置大于最多需要的步數則跳出判斷end = max(end, nums[start] + start) # 取上一層循環能達到的最遠位置和當前能達到的最遠位置中的最大值start += 1 # 判斷下一個值return end >= n-1 # 最遠位置超過到達最后一位下標則返回True,反之返回False總結
以上是生活随笔為你收集整理的跳跃游戏Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打家劫舍(首尾相连)Python解法
- 下一篇: 华语乐坛首次!周杰伦新作斩获2022全球