1.給出不同面額的硬幣以及乙個總金額. 寫乙個方法來計算給出的總金額可以換取的最少的硬幣數量. 如果已有硬幣的任意組合均無法與總金額面額相等, 那麼返回 -1。
public
static
intdp
(int
arr,
int count)}}
//如果不能湊成額度,則返回-1
if(cost[count]
== integer.max_value)
return cost[count]
;}
2.有乙個機械人的位於乙個 m × n 個網格左上角。機械人每一時刻只能向下或者向右移動一步。機械人試圖達到網格的右下角。問有多少條不同的路徑?
public
static
intdp
(int m,
int n)
else}}
return num[m -1]
[n -1]
;}
3.在乙個陣列arr中,找出一組不相鄰的數字,使得最後的和最大。
public
static
intdp
(int
arr)
return opt[arr.length -1]
;}
4.給定乙個正整數s, 判斷乙個陣列arr中,是否有一組數字加起來等於s。
public
static
booleandp(
int[
] arr,
int n)
//當下標為0時,除非arr[0]==n,否則全部為false
arrays.
fill
(dparray[0]
,false);
if(n >= arr[0]
)for
(int i =
1; i < arr.length; i++
)else}}
return dparray[arr.length -1]
[n];
}
動態規劃練習題 6(登山)
隊員們發現山上乙個有n個景點,並且決定按照順序來瀏覽這些景點,即每次所瀏覽景點的編號都要大於前乙個瀏覽景點的編號。同時隊員們還有另乙個登山習慣,就是不連續瀏覽海拔相同的兩個景點,並且一旦開始下山,就不再向上走了。隊員們希望在滿足上面條件的同時,盡可能多的瀏覽景點,你能幫他們找出最多可能瀏覽的景點數麼...
PTA練習題 旅遊規劃
有了一張自駕旅遊路線圖,你會知道城市間的高速公路長度 以及該公路要收取的過路費。現在需要你寫乙個程式,幫助前來諮詢的遊客找一條出發地和目的地之間的最短路徑。如果有若干條路徑都是最短的,那麼需要輸出最便宜的一條路徑。輸入格式 輸入說明 輸入資料的第1行給出4個正整數n m s d,其中n 2 n 50...
關於NSString的練習題
1.現有如下定義的字串 nsmutablestring str iphoneandroid 能不能對該字串進行修改,如果能,請輸出刪除android後的新字串。nsmutablestring str nsmutablestring stringwithcapacity 2 建立乙個可變的字串 nsr...