gpt4 book ai didi

Javascript如何知道一个数组是否是另一个数组的子数组

转载 作者:行者123 更新时间:2023-11-30 13:42:16 24 4
gpt4 key购买 nike

我怎样才能高效地在 javascript 中执行以下操作?

我按顺序计算了 7 个项目(item0、item1、item2...item6)..就像计数 = [0,2,0,5,6,0,9];

有 3 个互斥组:组 1:项目 0、项目 1、项目 2组 2:项目 3、4、5group3: item6

当且仅当组成员元素的计数器 >= 0 时,才认为组已被选中。

现在我想知道选择了哪个组?

最佳答案

经过 understack OP 的澄清后,如果 [至少] 选择了其中一个元素,则选择了一个组。
这反过来又使问题的“相互排斥”部分变得模棱两可,因为提供的示例 (counts = [0,2,0,5,6,0,9]) 所有 3 组都是选择...

从来没有……
确定选择哪个组的问题可以依靠 bool 表达式的 JavaScript 短路求值得到最佳解决

暂定的解决方案如下所示:

counts = [0,2,0,5,6,0,9];  // as stated an bad value for counts,
// if groups are to be mutually exclusive
if (counts[0] || counts[1] || counts[2])
{
GroupSelected = 1;
}
else if (counts[3] || counts[4] || counts[5])
{
GroupSelected = 2;
}
else if (counts[6] > 0)
{
GroupSelected = 3;
}
else
{
GroupSelected = -1; // none of the groups is selected !!!
}

注意:可能的优化将来自对要选择的给定元素(相对于其他元素,在其组中)的概率的“先验”知识,以及给定组被选中的概率
有了这些知识,可以重写上面的代码片段,首先测试最有可能的组,然后在每个组内首先测试最有可能的元素。

关于Javascript如何知道一个数组是否是另一个数组的子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1623055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com