当前位置: 首页 > 知识库问答 >
问题:

以函数方式获取子集

墨雨华
2023-03-14

我需要实现一个函数,该函数获取一个由n个元素和一个数字k组成的数组A作为输入,并返回一个包含大小为k的所有子集的数组(每个子集本身就是一个数组)。

定义函数的类型,并为函数实现至少3个测试(使用assert)。它应该是Javascript/Typescript和functional

例如:FunSubset([1,2,3],2)=

有什么想法吗?

共有2个答案

傅朗
2023-03-14

在数组中循环,并为每个元素再次循环,以创建一个长度为k-1的切片,该切片与第一个循环的当前元素连接,然后将其推送到最后返回的临时数组中。

let myArr = [1, 2, 3, 4];

let k = 2;

function subSet(arr, k) {

  let tmpArr = [];
  for (var i = 0; i < arr.length; i++) {
    for (let j = i + 1; j < arr.length; j++) {
      let slice = arr.slice(j, j + k - 1);
      slice.push(arr[i]);
      tmpArr.push(slice.reverse());
    }
  }
  return tmpArr;
}

let mySubSets = subSet(myArr, k);

console.log(JSON.stringify(mySubSets));
邢心水
2023-03-14

您可以为临时结果集使用带有另一个参数的生成器函数。

function* subsets(values, size, parts = []) {
    var i;

    size--;
    for (i = 0; i < values.length; i++) {
        if (size) {
            yield* subsets(values.slice(i + 1), size, [...parts, values[i]]);
        } else {
            yield [...parts, values[i]];
        }
    }
}

console.log([...subsets([1, 2, 3], 2)]);
console.log([...subsets([1, 2, 3, 4, 5], 2)]);
css prettyprint-override">.as-console-wrapper { max-height: 100% !important; top: 0; }
 类似资料:
  • 问题内容: 这是我想要做的事情:-我需要一个函数,当将其作为参数传递时,ID(用于事物类别)将提供所有子类别,子子类别和子子子..etc 。-我在考虑使用递归函数,因为我不知道子类别及其子类别的数量,依此类推,这是到目前为止我一直在尝试的操作 如果我使用return而不是echo,我将不会得到相同的结果。我需要一些帮助以解决此问题或从头开始重写它 问题答案: 我很难弄清楚你的职能。我认为这会做您想

  • 问题内容: 使用时,可以通过编程方式从共享库(仅Linux)中获取所有函数名称的列表吗? 我想要这样的东西: 示例库(mylib.so) 标头(.h): 来源(.c): 我知道的肮脏骇客:用途或实用工具 问题答案: 没有libc函数可以做到这一点。但是,您可以自己编写(或从readelf之类的工具复制/粘贴代码)。 在Linux上,返回结构的地址,该结构的成员名为,指向存储的共享库的基址(假设您的

  • 问题内容: 我在纱线簇中运行我的spark应用程序。在我的代码中,我使用队列的可用数量核心在数据集中创建分区: 我的问题:如何通过编程方式而不是通过配置获取可用的队列核心数? 问题答案: 有多种方法可以从Spark获取执行程序的数量和集群中的核心数量。这是我过去使用的一些Scala实用程序代码。您应该可以轻松地使其适应Java。有两个关键思想: 工人人数是执行者人数减去一或。 每个工人的核心数可以

  • 问题内容: 我必须动态获取ES6类的属性和功能。这有可能吗? 使用for … in循环,我只能循环访问类实例的属性: 输出: 问题答案: 此功能将获取所有功能。是否继承,是否可枚举。包括所有功能。 做测试 控制台输出: 注意 它不返回通过符号定义的函数。

  • 我使用matplotlib在python中绘制直方图,方法是: 是否可以打印包含所有存储箱信息的数据框,如每个存储箱中的元素数量?

  • 问题内容: 如何从包含证书和私钥的PEM文件中以编程方式获取KeyStore?我试图在HTTPS连接中向服务器提供客户端证书。我已经确认,如果我使用openssl和keytool来获取jks文件(该文件是动态加载的),则客户端证书可以使用。我什至可以通过动态读取p12(PKCS12)文件来使其工作。 我正在考虑使用BouncyCastle的PEMReader类,但无法克服一些错误。我正在使用-Dj