假设二维矩阵表示为向量 向量,使得最里面的向量每个都代表一行中的一行 矩阵。如果行数相等,则二维矩阵是正方形 到列数。
答案 0 :(得分:3)
为什么循环重复约束?
如果你可以假设每一行都是相同的大小(常规结构),这将起作用:
(defn is-square [m]
(= (count m) (count (first m))))
如果你想检查每一行:
(defn is-square [m]
(apply = (count m) (map count m)))
如果你真的真的想因为某些原因使用loop-recur:
(defn is-square [m]
(loop [[row & more] m]
(if row
(if (= (count row) (count m))
(recur more)
false)
true)))