我在哈斯克尔很新。我们的任务是编写一个算法来计算方阵的维数。但我们不应该使用列表。但我不知道如何访问矩阵的每个元素,就像这样:
matrixA 1 1 = 0
matrixA 1 2 = 42
matrixA 1 3 = 1337
matrixA 2 1 = 501
matrixA 2 2 = 314
matrixA 2 3 = 301
matrixA 3 1 = 13
matrixA 3 2 = 161
matrixA 3 3 = 271
matrixA _ _ = -1
答案 0 :(得分:2)
要访问行i
和列j
的矩阵元素,您只需使用matrixA i j
即可。实际上,matrixA
是一个将索引映射到矩阵元素的函数。
我猜最后-1
个案例代表一个无效的值,意味着"矩阵之外的索引"。因此,似乎要找到大小,您只需查询具有越来越大的行/列索引的矩阵,直到获得-1
。解决这个问题的基本方法是递归地进行。