我有一个返回如下列表的函数:
[ [1, 2, 3], [], [5], [5,6], []]
Run Code Online (Sandbox Code Playgroud)
但我想用0替换空列表,所以它看起来像这样
[ [1, 2, 3], [0], [5], [5,6], [0]]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我曾尝试filter和map收效甚微.有人可以指点我正确的方向吗?
这是有问题的代码:
knightPlace:: [Int] -> [[Int]]
knightPlace n = makeboard n
where
makeboard n = [x | i<-[0..(length n -1 )], x <- [checkPos i]]
-- checkPos add zero
checkPos i = [j+1 | j<-[0..(length n -1 )], queenFilter n i j]
-- filters all rows, cols and diags, also knights
queenFilter n i j = and [n!!(i) …Run Code Online (Sandbox Code Playgroud)