/*自頂向下的動態規劃*/
#includeusing namespace std;
int *mark;//標記陣列,表示mark[i]是否可以到達最後乙個節點,是為1,否為-1
int min(int a, int b)
bool dfs(int *nums, int p,int len)
int bigjump = min(nums[p] + p, len - 1);//可以跳到的下乙個節點的下標最大值
for (int next = p+1; next <= bigjump; next++)
} mark[p] = -1;//否則p不可以跳到結尾
return false;
}int main();
int len = sizeof(nums) / sizeof(nums[0]);
mark = new int[len];
for (int i = 0; i < len; i++)
mark[len - 1] = 1;//最後乙個節點是一定可以跳到最後乙個節點
if (dfs(nums, 0, len))
else
return 0;
}
LeetCode55 跳躍遊戲
leetcode55.跳躍遊戲 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入...
LeetCode 55 跳躍遊戲
題目鏈結 題目描述 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。輸入 3,2,1,0,4 輸出 ...
LeetCode 55 跳躍遊戲
問題 給定乙個非負整數陣列,你最初位於陣列的第乙個位置,陣列中的每個元素代表你在該位置可以跳躍的最大長度,判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入 3,2,1,0,4 輸出...