題目
給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。
陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。
你的目標是到達最後乙個下標,並且使用最少的跳躍次數。
例如:a=[2,3,1,1,4],到達最後乙個下標的最少跳躍次數為 2。(先跳躍 1步,從下標 0到 1,然後跳躍 3步,到達最後乙個下標。一共兩次)
第一行輸入乙個正整數 n(1≤n≤100),接下來的一行,輸入 n個整數,表示陣列 a。
最後輸出最少的跳躍次數。
樣例輸入
53 1 1 1 1
樣例輸出
2
**
#includeusingnamespace
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,接下來的一行,輸...