搜狐跳躍問題

2021-08-07 12:04:59 字數 929 閱讀 4622

[程式設計題] 袋鼠過河

時間限制:1秒

空間限制:32768k

乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共n公尺寬,袋鼠初始位置就在第乙個彈簧上面,要跳到最後乙個彈簧之後就算過河了,給定每個彈簧的力量,求袋鼠最少需要多少跳能夠到達對岸。如果無法到達輸出-1 

輸入描述:

輸入分兩行,第一行是陣列長度n (1 ≤ n ≤ 10000),第二行是每一項的值,用空格分隔。

輸出描述:

輸出最少的跳數,無法到達輸出-1

輸入例子1:

5

2 0 1 1 1

輸出例子1:

4
要每次更新能跳的最遠的範圍,但需要根據最近兩次可調範圍來確定。當跳的範圍大於陣列長度,即可認為步數已夠,返回
應該是貪心的思路,
#include #include using namespace std;

#include int solve_jump(vectordata)

int step = 0;

int i = 0, j = 0;

int k, tempj;

while (j

}i = j + 1; j = tempj;

if (j < i)

}return step ;

}int main()

int res=solve_jump(data);

cout << res << endl;

}return 0;

}

陣列跳躍問題

程式設計2 給出乙個非負整數陣列,最初定位在陣列的第乙個位置,陣列中的每個元素的值代表你在那個位置可以跳躍的最大長度,判斷你是否到達陣列的最後乙個位置 例如 a 返回true,a 返回false if 0 int jump int arr,int n,int x x代表當前走到的位置,也是每次遞迴改...

問題 A 跳躍遊戲

題目描述 這裡有乙個長度為n非負整數陣列 arr,你最開始位於該陣列的起始下標 m 處。當你位於下標 i 處時,你可以跳到 i arr i 或者 i arr i 請你判斷自己是否能夠跳到對應元素值為 0 的下標處。注意,不管是什麼情況下,你都無法跳到陣列之外。輸入 測試樣例由多組測試資料組成。每組測...

LeetCode 陣列 跳躍問題

給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入 3,2,1,0,4 輸出 fal...