arrays - 用于合并多个二维数组的一致行的高效算法
问题描述
我有任意数量的等宽但可能不等高的二维数组。它们可以由 1、0 或*
可以匹配 1 或 0 的通配符组成。通配符始终位于相同的列中。我想同时返回与每个数组中至少一行一致的所有可能行,并且不包含通配符。
举一个具体的例子,考虑三个二维数组
1 0 1 * * 0 1 0 * 1 * 1
a = 1 1 1 * b = * 1 1 0 c = * 0 * 0
0 1 0 * * 0 0 1
解决方案中的可能行可能是1 0 1 0
. 与 的顶行a
、顶行b
、第二行一致c
。相比之下,不应该在解决方案中的行是,因为尽管与 的底行和顶行一致,但0 1 0 1
它与 的任何行都不一致。b
a
c
除了进行低效的蛮力检查之外,我还很卡。似乎应该有更快的方法。是否有任何技巧可以帮助有效地解决这个问题?
解决方案
推荐阅读
- javascript - 无法读取未定义的属性“就绪”;区:
; 任务:Promise.then;值:TypeError:无法读取未定义的属性“就绪” - javascript - v-on 处理程序中的错误:“TypeError:无法读取未定义的属性'emailAddress'”VUEX
- excel - 来自聚合组的 Excel vlookup
- .net - Sql Query 检测撇号并返回错误
- jquery - Bootstrap Select Dropdown on change 打开另一个 Bootstrap Select Dropdown
- docker - 如何更改已创建的 docker 容器 Wildfly Server 的时区?
- css - 使用负百分比边距不覆盖父元素
- milo - Eclipse Milo:使用延续点读取历史
- azure-cosmosdb - CosmosDb Sql 查询匹配文档之间数组中的公共值
- scala - Breeze - 将函数应用于 DenseVector 以获得 DenseMatrix