把每乙個位置看作圖上的乙個點,是乙個有向無環圖,因為必須向比當前位置的高度低的地方跳,不能反過來跳。就是求一條最長路徑。對於每乙個點來說,由於是有向無環圖,它的最長路徑是確定的,所以我們可以記錄每乙個點的最長路徑,加快dfs,複雜度o(n)。
class solution
record[u]=ans+1;
return ans+1;
}int maxjumps(vector& arr, int d_)
else
break;
}for(int j=1;i+jarr[i+j])
else
break;
}
}int ans=0;
for(int i=0;ians=max(ans,dfs(i));
return ans;
}};
LeetCode 1340 跳躍遊戲 V(DP)
給你乙個整數陣列 arr 和乙個整數 d 每一步你可以從下標 i 跳到 除此以外,你從下標 i 跳到下標 j 需要滿足 arr i arr j 且 arr i arr k 其中下標 k 是所有i 到 j 之間的數字 更正式的,min i,j k max i,j 你可以選擇陣列的任意下標開始跳躍。請你...
leetcode 1340 跳躍遊戲 V
給你乙個整數陣列 arr 和乙個整數 d 每一步你可以從下標 i 跳到 i x 其中 i x arr.length 且 0 x d i x 其中 i x 0 且 0 x d 除此以外,你從下標 i 跳到下標 j 需要滿足 arr i arr j 且 arr i arr k 其中下標 k 是所有 i ...
python lintcode116 跳躍遊戲
給出乙個非負整數陣列,你最初定位在陣列的第乙個位置。陣列中的每個元素代表你在那個位置可以跳躍的最大長度。判斷你是否能到達陣列的最後乙個位置。這個問題有兩個方法,乙個是貪心和動態規劃。貪心方法時間複雜度為o n 動態規劃方法的時間複雜度為為o n 2 我們手動設定小型資料集,使大家可以通過測試的兩種方...