lintcode ----跳躍遊戲
法一:動態規劃 【先把A[0]加到res,如果res[i-1]能走到 i ,那麼res[i]存的即為能走的最遠的距離(從res[i-1] 和A[i]+i)中取得】
bool canJump(vector<int> A) { // write you code here vector<int> res; res.push_back(A[0]); for(int i=1;i<A.size();i++) { if(res[i-1]>=i) res.push_back(max(A[i]+i,res[i-1])); else res.push_back(0); } return res[res.size()-1]>=A.size()-1; }
法二:貪心法【最大步數能走到當前步則每次用最遠距離更新最大步,每次判斷是否可以走到最後,可以直接返回true,如果連當前步都走不到,跳出while 返回false】
bool canJump(vector<int> A) { // write you code here int max_gap =0; int cur = 0; while(max_gap>=cur) { max_gap=max(max_gap,cur+A[cur]); cur++; if(max_gap>=A.size()-1) return true; } return false; }
相關推薦
LintCode:跳躍遊戲 II
class Solution: # @param A, a list of integers # @return an integer def jump(self, A):
lintcode ----跳躍遊戲
法一:動態規劃 【先把A[0]加到res,如果res[i-1]能走到 i ,那麼res[i]存的即為能走的最遠的距離(從res[i-1] 和A[i]+i)中取得】 bool canJump(v
lintcode--跳躍遊戲
A = [2,3,1,1,4],返回 true. A = [3,2,1,0,4],返回 false. public class Solution { /* 首先來看一下如何使用動態規劃求解該問題。使用動態規劃求解問題,首先需要找到問題的狀態和狀態轉化方程 假設問題的狀態,假設位置i(0≤i≤A.len
Lintcode 跳躍遊戲
給出一個非負整數陣列,你最初定位在陣列的第一個位置。 陣列中的每個元素代表你在那個位置可以跳躍的最大長度。 判斷你是否能到達陣列的最後一個位置。 樣例 A = [2,3,1,1,4],返回 true. A = [3,2,1,0,4],返回
lintcode--跳躍遊戲--跳躍遊戲Ⅱ
題目描述: 給出一個非負整數陣列,你最初定位在陣列的第一個位置。 陣列中的每個元素代表你在那個位置可以跳躍的最大長度。 判斷你是否能到達陣列的最後一個位置。 注意事項: 這個問題有兩個方法,一
[Lintcode]跳躍遊戲 II
給出一個非負整數陣列,你最初定位在陣列的第一個位置。 陣列中的每個元素代表你在那個位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 樣例 給出陣列A =
LintCode-跳躍遊戲
給出一個非負整數陣列,你最初定位在陣列的第一個位置。 陣列中的每個元素代表你在那個位置可以跳躍的最大長度。 判斷你是否能到達陣列的最後一個位置。 樣例 A = [2,3,1,1,4],返回 true. A = [3,2,1,0,4],返回 false
Lintcode 117. 跳躍遊戲 II
給出一個非負整數陣列,你最初定位在陣列的第一個位置。 陣列中的每個元素代表你在那個位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 public int jump(int[] A) { int count = 0; int maxPo
Lintcode : 116. 跳躍遊戲
給出一個非負整數陣列,你最初定位在陣列的第一個位置。 陣列中的每個元素代表你在那個位置可以跳躍的最大長度。 判斷你是否能到達陣列的最後一個位置。 public boolean canJump(int[] A) { // write your cod
LeetCode 55. Jump Game (跳躍遊戲)
mat col lean osi pub 情況 you track rip Given an array of non-negative integers, you are initially positioned at the first index of the ar
貪心算法-跳躍遊戲二
sample clu itl 判斷 main %d 數據 str 算法 給定一個非負整數數組,假定你的初始位置為數組第一個下標。 數組中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如: A=[2,3,1,1,4
LeetCode 55. 跳躍遊戲(Jump Game)
更新 你在 ron 索引 etc urn -- bre nbsp 題目描述 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸
計蒜客-跳躍遊戲二 (簡單dp)
inf PE sizeof size stream 分析 數組初始化 整數 CA 題目鏈接:https://nanti.jisuanke.com/t/20
跳躍遊戲
system 更新 else 代碼 toe 輸出格式 最優 心算 pub 問題描述 給定一個非負整數數組,假定你的初始位置為數組第一個下標。 數組中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到數組的最後一個下標。 例如: A=[2,3,1,1,4]
JSK 18: 跳躍遊戲
col 技術分享 hid 輸出 false algorithm top ostream color 題目描述 給定一個非負整數數組,假定你的初始位置為數組第一個下標。 數組中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到數組的最後一個下標。 例如:$
[leetcode] 45. 跳躍遊戲 II(Java)(動態規劃)
com max https 重疊 http findmi 條件 leetcode scrip 45. 跳躍遊戲 II 動態規劃 此題可以倒著想。 看示例: [2,3,1,1,4] 我們從後往前推,對於第4個數1,跳一次 對於第3個數1,顯然只能跳到第4個數上,那麽從第3個數
[leetcode] 55. 跳躍遊戲
mat math num pro script length -- ble -c 55. 跳躍遊戲 分明就是45. 跳躍遊戲 II的縮水版本嘛。。??,難度高的版本居然放在了前面,把像我這種有強迫癥的必須按照題號刷題的人不放在眼裏麽。。。 class Solution {
LeetCode:跳躍遊戲【55】
style code new bsp known als fur 遊戲 solution LeetCode:跳躍遊戲【55】 題目描述 給定一個非負整數數組,你最初位於數組的第一個位置。數組中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後一個位置。 示例
LeetCode 跳躍遊戲系列
i+1 clas 條件 最小 false 顯式 class [] 動態規劃 55. 跳躍遊戲 給定一個非負整數數組,你最初位於數組的第一個位置。數組中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸
LeetCode---45.跳躍遊戲II
題目來源:https://leetcode-cn.com/problems/jump-game-ii/description/ 題目描述: 演算法描述:這題是上一個題的升級版,詳情請見https://blog.csdn.net/qq_39241239/article/details/8