我想找到两个数组中哪些元素使两个数组不同。
例如,如果我从
开始known_unacceptable_array = [bad, bad, good, good, good, bad, good]
known_acceptable_array = []
如果有三个bad
(但我当时不知道),那么数组是不可接受的,但是我能够评估阵列是可接受的还是不可接受的,我想找到使阵列不可接受的最小数组
possibly_minimal_unacceptable = [bad, bad, bad]
maximal_acceptable = [bad, bad] # Third bad required to make the array unacceptable
这个问题叫什么,有什么算法呢?
编辑:元素无法按顺序更改,添加元素只能将列表从可接受更改为不可接受或无效 - 它无法将其更改为不可接受的。
后台:我随机生成了数以千计的指令,这些指令会让ruby解释器崩溃,我想隔离导致它崩溃的具体指令,当时我认为多次坏需要说明才能使其崩溃。一种非常天真的尝试,以确定this link
中的错误指令答案 0 :(得分:0)
决定产生差异的因素是什么? 在两个数组之间调用?
通常称为差异 减法。
我想确定两个数组中的哪些元素 两个阵列不同。
再次,那是减法(至少
某种形式):
给定A = {x,y,z} B = {x,y a},
A - B = {z,-a}
或“只有A有z,只有B有”,或“z和a”才能生成它们 不同。
例如,如果我从
开始
known_bad = [bad, bad, good, good, good, bad, good] >
known_good = []
为什么从一个完整的数组和一个空数组开始?不是这个 极端情况,或者这些“两个阵列”不是你的两个 正试图确定“差异”。
possible_minimal_bad = [坏,坏,坏]
maximal_good = [bad,bad]#使列表变坏所需的第三个错误
这只是一套规则吗?或者这是结果 找到前面两个数组之间的差异 (known_good,bad)设置?
这个问题叫什么,有什么算法 对此?
是“模式识别”吗?
您正在寻找测试输入(或测试点)数据中的模式,以及它与产品故障的关系, 并希望用某些代码来表示这种关系 表格进一步分析。或者在某些测试点和产品故障之间搜索关联。这使得这个问题变得相当 有趣。但是,问题的提出 很混乱。也许那些群体 方程式可以再解释一下,澄清它们是否相关,如果是,那么:以什么方式?
答案 1 :(得分:0)
我不完全确定我是否理解这个问题。如果我的答案不能令人满意,请将您的问题改写为更清楚。我的答案就是基于此。
我想确定两个数组中哪些元素使两个数组不同。
这是三组操作联合,交集和差异的组合。不同的组合可以达到相同的效果。
听起来你想要两个补语的结合,即:
A\B ∪ B\A
交叉点与联合之间的补充:
A∩B \ A∪B
有关详细信息,请参阅http://en.wikipedia.org/wiki/Set_operations_(Boolean。