題目描述
乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共n公尺寬,袋鼠初始位置就在第乙個彈簧上面,要跳到最後乙個彈簧之後就算過河了,給定每個彈簧的力量,求袋鼠最少需要多少跳能夠到達對岸。如果無法到達輸出-1
輸入描述:
輸入分兩行,第一行是陣列長度n (1 ≤ n ≤ 10000),第二行是每一項的值,用空格分隔。
輸出描述:
輸出最少的跳數,無法到達輸出-1
**示例1
輸入**
5 2 0 1 1 1
輸出
提供兩種解決方式:
1、暴力解決,從第乙個樁出發,通過判斷其最大跳至的下一樁是否為0,若為0,則進行次大跳,當不為0時,繼續跳樁,當最大跳減至0,返回-1,無解。
2、動態規劃,通過河寬和a[i]的比較判斷是否取至第i樁的最小跳數,其始樁數為1,跳數為1,當出現彈力達不到比較寬度時,返回-1。
具體上**:
袋鼠過河(python版)
題目來自於牛客網 題目描述 乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共...
c 程式設計題 袋鼠過河
乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共n公尺寬,袋鼠初始位置就在第...
7 袋鼠過河
個人水平有限,請見諒!乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共n公尺...