計蒜客 題庫 跳躍遊戲2

2022-05-03 08:27:10 字數 886 閱讀 2476

題目

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

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

你的目標是到達最後乙個下標,並且使用最少的跳躍次數。

例如:a=[2,3,1,1,4],到達最後乙個下標的最少跳躍次數為 2。(先跳躍 1步,從下標 0到 1,然後跳躍 3步,到達最後乙個下標。一共兩次)

第一行輸入乙個正整數 n(1≤n≤100),接下來的一行,輸入 n個整數,表示陣列 a。

最後輸出最少的跳躍次數。

樣例輸入

5

3 1 1 1 1

樣例輸出

2

**

#includeusing

namespace

std;

intn;

int s[100

];int t[100] = ;

int dfs(int src, int

des)

//如果des小於0,說明當前位置從起點到不了

if (des < 0

)

/*從當前位置往前查詢從起點到本點所有路徑中的直接鄰點,那麼當前點的跳躍數就是這些點得跳躍數

加1,然後選取最小的。

*/for (int i = des; i >= 0; --i)

if (t[src] == 0 || t[src] > t[i] + 1

) }

}return

t[src];

}int

main()

cout

<< dfs(n - 1, n - 2)

}

計蒜客 跳躍遊戲2

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。你的目標是到達最後乙個下標,並且使用最少的跳躍次數。例如 a 2,3,1,1,4 a 2,3,1,1,4 到達最後乙個下標的最少跳躍次數為 22。先跳躍 11 步,從下標 00 到 11,然後...

計蒜客 跳躍遊戲2

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。你的目標是到達最後乙個下標,並且使用最少的跳躍次數。例如 a 2,3,1,1,4 到達最後乙個下標的最少跳躍次數為2.先跳躍1步,從下標0到1,然後跳躍3步,到達最後乙個下標。一共兩次 格式 ...

計蒜客 難題題庫 018 跳躍遊戲

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