日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lintcode: 跳跃游戏 II

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lintcode: 跳跃游戏 II 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?跳躍游戲 II

給出一個非負整數數組,你最初定位在數組的第一個位置。

數組中的每個元素代表你在那個位置可以跳躍的最大長度。   

你的目標是使用最少的跳躍次數到達數組的最后一個位置。

樣例

給出數組A =?[2,3,1,1,4],最少到達數組最后一個位置的跳躍次數是2(從數組下標0跳一步到數組下標1,然后跳3步到數組的最后一個位置,一共跳躍2次)

解題

Jump1?

終于自己還是沒有解決出來

參考鏈接?? 理解不透?

public class Solution {/*** @param A: A list of lists of integers* @return: An integer*/public int jump(int[] A) {int target = A.length-1;int cnt = 0;while(target > 0) {for(int i=0; i<target; i++) {if(i+A[i] >= target) {target = i;cnt++;break;}}}return cnt;}}

參考鏈接2?

這個好理解

public class Solution {/*** @param A: A list of lists of integers* @return: An integer*/public int jump(int[] nums) {int ret = 0;int curMax = 0;int curRch = 0;for(int i = 0; i < nums.length; i ++) // 一個一個的掃描{if(curRch < i)// 跳不到 i位置,選取前面可以跳的最遠 位置{ret ++;curRch = curMax;}curMax = Math.max(curMax, nums[i]+i);// 能夠跳到最遠的 那個位置 }return ret;}}

Python

class Solution:# @param A, a list of integers# @return an integerdef jump(self, A):# write your code hereif A == None or len(A)<= 1:return 1MaxJump = A[0]subJump = A[0]count = 1for i in range(1,len(A)):if subJump <i:count+=1;subJump = MaxJumpMaxJump = max(MaxJump , A[i] + i)return count

?

轉載于:https://www.cnblogs.com/theskulls/p/5292449.html

總結

以上是生活随笔為你收集整理的lintcode: 跳跃游戏 II的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。