跳躍遊戲二

2021-09-02 17:44:20 字數 578 閱讀 3172

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

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

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

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

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

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

樣例輸入

5

3 1 1 1 1

樣例輸出

2
ac**

#include

int min(int a,int b)

int main()

for(int i=0;ielse

dp[i+j]=min(dp[i+j],dp[i]+1);}}

printf("%d\n",dp[n-1]-1);

}

跳躍遊戲二

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

跳躍遊戲二 DP

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

LintCode 跳躍遊戲 I VS跳躍遊戲 II

陣列中的每個元素代表你在那個位置可以跳躍的最大長度。判斷你是否能到達陣列的最後乙個位置。分析 方法一 基於動態規劃的做法,時間複雜度o n 2 陣列dp i 表示能否到達下標為i的位置,對於從下標i 1開始的每乙個位置,都從下標j 0開始到i 1判斷能否到達j,並且判斷從j開始最遠能否跳到或超過i的...