这是一个流行的问题,但我找不到一个满足我案例的答案。
我有布尔数组,其中我试着看一个数组是不是另一个数组的子集。
示例:
const int size = 10;
bool arr1[size];
bool arr2[size];
bool arr3[size];
assume the arrays have been initialized to false except for the following:
arr1 4,5,6 = true
arr2 0 = true
arr3 4,5 = true
在本例中,ARR2
不是两者的子集,但ARR3
是ARR1
的子集。
我尝试了一些从布尔的真值创建整数数组的麻烦尝试,但我仍然不确定如何验证它们是按顺序排列的(即一个子集)。
int size = 10;
for (int i = 0; i<size; i++)
{
for (int j = 0; j<size; j++)
{
if(arr2[i] == arr1[j])
break;
}
if (j == size)
return false;
}
return true;
}
这个也没用。
目标是确定一个数组是否包含另一个数组的所有元素。在这种情况下,ARR3
将索引4和5作为true,这在ARR1
中也是true
但是如果我将arr2
与超集arr1
进行比较,它将返回false,因为arr1[0]
不是true。
下面的函数用于检查数组A
是否具有B
中true
中的所有索引true
(这里的A
和B
的大小相同)。
bool checkArrays(bool a[], bool b[], int n) {
for(int i=0; i<n; i++) {
if(b[i] && b[i] != a[i]) // compare only if b[i] is true
return false;
}
return true;
}
问题内容: 如何有效地检查整数数组中的所有元素是否是Java中另一个数组的所有元素的子集?例如,[33 11 23]是[11 23 33 42]的子集。提前致谢。 问题答案: 从超集数组中取出一个。检查子集中数组的每个元素是否包含在中。这是非常快速的操作。
问题内容: 在SO上已经问过类似的问题,但是它们有更具体的约束,其答案不适用于我的问题。 一般来说,确定任意numpy数组是否是另一个数组的子集的最有效方法是什么?更具体地说,我有大约20000x3的数组,我需要知道完全包含在集合中的1x3元素的索引。更普遍地讲,是否有更Python化的方式编写以下代码: 对于我的用例,我可以安全地假设len(master)<<20000。(因此,可以安全地假设m
我有两个数据框,都包含英文和中文单词字符串,我想知道其中一个是另一个的子集:
问题内容: 我需要验证列表是否是另一个列表的子集-我想要的只是布尔返回值。 在相交后在较小列表上测试相等性是最快的方法吗?考虑到需要比较的数据集数量,性能至关重要。 根据讨论添加更多事实: 在许多测试中,两个列表中的两个列表是否相同?它作为静态查找表之一来执行。 需要列表吗?事实并非如此-静态查找表可以是执行效果最好的任何内容。动态命令是一种dict,我们从中提取密钥以执行静态查找。 在这种情况下
问题内容: 我有两个数组,我想检查是否每个元素都在中。如果元素的值在中重复,则该元素的值必须相等。最好的方法是什么? 问题答案: 一种选择是对两个数组进行排序,然后遍历两个数组,然后比较元素。如果在超级袋中未找到子袋候选中的元素,则前者不是子袋。排序通常为O(n *log(n)),比较为O(max(s,t)),其中 s 和_t_是数组大小,总时间复杂度为O(m * log(m)) ,其中m =ma
假设我有两个数组,和,其中是的子集: 我想返回如下数组: 如果只是一个数字,那就足够简单了(),但我尝试了y中的等效