【问题标题】:Write an OCaml program which checks whether the matrix A is contained in the matrix B编写一个 OCaml 程序,检查矩阵 A 是否包含在矩阵 B 中
【发布时间】:2015-04-25 19:35:43
【问题描述】:

尽管 Java 没有遇到任何重大问题,但关于 OCaml 编程语言我不能这么说。我应该为两个矩阵创建一个函数 subMat,检查矩阵 A 是否是矩阵 B 的子矩阵,如果是 - 返回 true - val subMat: int list list -> int list list -> bool = <fun>

我很感激任何帮助,因为我真的不知道如何解决这个问题。

【问题讨论】:

  • 处理矩阵的列表是您的选择吗?这似乎不是最好的主意...
  • 如果您希望能够使用您的 Java 方法,您可能不得不改用 int array array(查看 Array.make_matrix)。

标签: ocaml submatrix


【解决方案1】:

这个问题可以通过使用int array arrayBigarray.Array2然后应用传统的命令式编程方法来解决。

另一种方法是将矩阵连接到 int list 并应用子字符串查找算法,例如 Knuth-Morris-Pratt(或者如果您不想太花哨,也可以自己发明)。

【讨论】:

    猜你喜欢
    • 2013-04-20
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2017-09-26
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    相关资源
    最近更新 更多