計蒜客oj 跳躍遊戲 動態規劃 dfs

2021-08-18 15:38:15 字數 1275 閱讀 3087

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。

陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。

請確認你是否能夠跳躍到陣列的最後乙個下標。

例如:

a = [2,3,1,1,4],

return true.

a = [3,2,1,0,4],

return false.

格式:

第一行輸入乙個正整數n,接下來的一行,輸入陣列a[n]。如果能跳到最後乙個下標,輸出「true」,否則輸出「false」

樣例1

輸入:5

2 0 2 0 1

輸出:

true

分析:很明顯的用dfs深度優先遍歷可以解決這道題目,但是對於資料量500並且不知道陣列每個位置元素的大小的情況下可能會超時 果不其然 超時了 仔細想來dfs會重複遍歷如果剪枝不充分超時是必然的

法1:

#include

於是我們又想到了動態規劃 完美解決

法2:

#include

using

namespace

std;

int arr[501];

bool dp[501];//dp[i]表示從位置i開始是否能夠到達末尾

計蒜客 跳躍遊戲

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 return true.a 3,2,1,0,4 return false.格式 第一行輸入乙個正整數n,接下來的一行,輸...

計蒜客 跳躍遊戲

描述 給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 a 2,3,1,1,4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,0,4 a 3,2,1,0,4 不能...

計蒜客 跳躍遊戲

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 a 2,3,1,1,4 a 2,3,1,1,4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,0,4 a 3,2...