題目大意:
給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。
陣列中的每個元素代表你在那個位置能夠跳躍的最大長度
。請確認你是否能夠跳躍到陣列的最後乙個下標。
a=[2,3
,1,1
,4]可以從第乙個位置跳到第
2,3個,第
2個位置可以跳到
3,4,5
位置。所以輸出
true。
a=[3,2
,1,0
,4],第乙個位置只能跳到
2,3,4
,第二個只能跳到
3,4,無法從低
4個位子跳到
5.所以為
false。
思路:尋找最優子結構。最後乙個點可以由前面的任意點到達,只要在該點的跳躍範圍。倘若找最小跳躍數就可以
dp[n]
=min(dp
[i]+1,a[i
]>=n-i.
**:
#includeusing namespace std;
#define maxn 500+5
int a[maxn], dp[maxn];//全域性變數自動賦0,能定義更大的空間
#define inf 1<<29
int main()
if (dp[n] != inf)
cout << "true";
else
cout << "false";
return 0;
}
演算法(38) 動態規劃(1) 跳躍遊戲 C
題目 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度 步數 判斷你是否能夠到達最後乙個位置。輸入 int arr 輸出 2 題意 不明白的要去搜一下,網上很多說明。思路 當前最優解 下一步的最優解 迭代或者遞迴來完成。這是解決此類問題最簡化的模型之...
面試題38 醜數
題目 我們把只包含因子2,3和5的數稱作醜數。求按從小到大的順序的第1500個醜數。例如6,8是醜數,14不是醜數。習慣上我們把1當作第乙個醜數。邊界條件及異常 index小於等於0。思路 下乙個醜數肯定是前面某乙個醜數uglynumbers mult2index 乘以2,某乙個醜數uglynumb...
3 8 劍指offer 醜數
把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。def getuglynumber solution index if index 0 不要忘記判斷特殊情況 return...