使用Data.Vector並且當前需要計算用於計算加密哈希(Sha1)的向量的內容。我創建了下面的代碼。使用Data.Vector進行動態編程
dynamic :: a -> Int -> (Int -> Vector a -> a) -> Vector a
dynamic e n f =
let
start = Data.Vector.replicate n e
in step start 0
where
step vector i = if i==n then vector
else step (vector // [(i,f i vector)]) (i+1)
我建立這個使得函數f填寫矢量訪問沿途的局部 結果。當然這樣的事情必須已經存在於Data.Vector中,不是嗎?
問題說明如下:您要解決一個動態編程問題,其中最終結果是一個數組。你知道數組大小的大小,你有一個遞歸函數來填充它。
最後一行中'n'是不是應該每次都是'i'? – sepp2k 2010-09-07 13:58:54
@ sepp2k是的,謝謝!編輯。 – Questionable 2010-09-07 14:35:55