我要做的是制作一个经历二维的程序 数字的平方并找到给出最高总数的路径。从...开始 顶部,有效移动向下,向左/向右移动(如果可用)。
我遇到的问题是我正在使用此功能:
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,这样 我可以得到所有的组合,然后评估哪条是最好的路线。
答案 0 :(得分:1)
新手第一次尝试: - )
path::[Board] -> Int -> Int -> [Int]
path [] y z = []
path (x:xs) y z = maximum(slice x y z) : path xs y z