簡體   English   中英

如何遍歷Haskell中的列表列表

[英]How to iterate through list of lists in Haskell

我正在嘗試做的是制作一個程序,該程序將通過二維數字平方,並找到給出最高總數的路徑。 從頂部開始,有效的移動是向下的,如果有的話,向下移動的是左/右。

我遇到的問題是我正在使用此功能:

  slice :: [Int] -> Int -> Int -> [Int]
  slice x i k 
    | i > k = []
    | otherwise = (take (k-i+1) (drop (i-1) x))

和這個功能:

    path :: Board -> [Int]
    path [] = []
    path (x:xs) = (maximum (slice x 3 5 ) : path xs

其中“板”類型是列表列表。

誰能向我解釋如何使用變量而不是3和5,這樣我可以獲得所有連擊,然后評估哪一條是最佳途徑。

新手的第一次嘗試:-)

path::[Board] -> Int -> Int -> [Int]
path [] y z = []
path (x:xs) y z = maximum(slice x y z) : path xs y z

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM