1. 程式人生 > >跳躍遊戲二

跳躍遊戲二

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

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

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

例如:

A = [2,3,1,1,4]A=[2,3,1,1,4],到達最後一個下標的最少跳躍次數為 22。(先跳躍 11 步,從下標 00 到 11,然後跳躍 33 步,到達最後一個下標。一共兩次)

輸入格式

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

輸出格式

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

樣例輸入

5
3 1 1 1 1

樣例輸出

2

動態規劃,跳躍到A點的次數 = 跳躍到B點的次數 + 1

最後輸出dp[n-1]時減一是因為dp[0]迴圈里加一了,將迴圈改為 j=0即可。

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    int dp[n],ad[n];
    memset(dp,0,sizeof(dp));
    for(int i = 0; i < n; i ++){
        cin >> ad[i];
    }
    for(int i = 0; i < n; i++){
        for(int j = 0; j <= ad[i] && i+j < n; j++){
            if(dp[i+j] == 0){
             	dp[i+j] = dp[i]+1;   
            }
            else{
            	dp[i+j] = min(dp[i+j],dp[i]+1);
            }
        }
    }
    cout << dp[n-1] - 1;
    return 0;
}

相關推薦

貪心算法-跳躍遊戲

sample clu itl 判斷 main %d 數據 str 算法 給定一個非負整數數組,假定你的初始位置為數組第一個下標。 數組中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如: A=[2,3,1,1,4

計蒜客-跳躍遊戲 (簡單dp)

inf PE sizeof size stream 分析 數組初始化 整數 CA 題目鏈接:https://nanti.jisuanke.com/t/20

LeetCode45跳躍遊戲

題目描述: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最後一個位置的最小跳躍數是 2。

X的平方根、跳躍遊戲、 加一、跳躍遊戲、最大子陣列

設計函式int sqrt(int x),計算 xxx 的平方根。 輸入格式 輸入一個 整數 xxx,輸出它的平方根。直到碰到檔案結束符(EOF)為止。 輸出格式 對於每組輸入,輸出一行一個整數,表示輸入整數的平方根。

sincerit 跳躍遊戲(動態規劃問題)

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

計蒜客【跳躍遊戲

原文:https://www.cnblogs.com/Pinging/p/7719864.html import java.util.Arrays; import java.util.Scanner; public class Main { public static void mai

計蒜客 挑戰難題 第20題:跳躍遊戲

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

計蒜客-跳躍遊戲

似乎是用DP但我一看就是個圖而且只有100個點想都沒想 floyd模板套上通過#include<bits/stdc++.h> using namespace std; const int maxn=108; int mp[maxn][maxn]; int main

計蒜客_跳躍遊戲

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

跳躍遊戲

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

計蒜客—跳躍遊戲

華電北風吹 天津大學認知計算與應用重點實驗室 日期:2015/12/4 題目型別: 動態規劃,廣度優先搜尋 題目描述: 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。陣列中

計蒜客 挑戰難題 跳躍遊戲

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

計蒜客--第20題:跳躍遊戲

第20題:跳躍遊戲二 時間限制 1000 ms 記憶體限制 10000 K 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如:

計蒜客 20 跳躍遊戲

跳躍遊戲二 關鍵詞:動態規劃 Description 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一

跳躍遊戲(DP)

時間限制 1000ms 記憶體限制 65536K 題目描述 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如: A = [2,3,1,1,

計蒜客————跳躍遊戲

 30.18%  1000ms  65536K 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使

計蒜客-跳躍遊戲(dp)

跳躍遊戲二 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如: A = [2,3,1,1,4], 到達最後一個下標的最少跳躍次數為

演算法練習---跳躍遊戲(動態規劃)

題目描述: 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如: A=[2,3,1,1,4],到達最後一個下標的最少跳躍次數為 2。(先跳躍 1

【計蒜客系列】挑戰難題20:跳躍遊戲

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

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

921次  23.1%  1000ms  65536K 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,