在我的代码中,list数组的console.log给了我想要的东西,它是输入的一组子集。但它不会传递给结果。结果返回如下所示:[[],[],[],[],[],[],[],[],[],[],[],[],[]]
下面是我的代码:
const subsets = (nums) => {
let result = [];
let list = [];
const helper = (result, list, nums, position) => {
for (let i = position; i < nums.length; i++) {
list.push(nums[i]);
helper(result, list, nums, i + 1);
list.pop();
}
console.log(list) // this is what I want. but it does not pass down to result!!!
result.push(list);
}
helper(result, list, nums, 0)
return result;
}
任何想法都会很棒!谢谢你!
问题是,您将相同的数组引用推送到结果集。结果,您将看到所有数组的最后一个循环的数组。
要获得所有单个数组,您需要获得一个带有array#slice
的副本以进行推送。
result.push(list.slice());
这将创建一个包含所有值的新数组。
const subsets = (nums) => {
let result = [];
let list = [];
const helper = (result, list, nums, position) => {
for (let i = position; i < nums.length; i++) {
list.push(nums[i]);
helper(result, list, nums, i + 1);
list.pop();
}
result.push(list.slice());
}
helper(result, list, nums, 0);
return result;
}
console.log(subsets([1, 2, 3]));
.as-console-wrapper { max-height: 100% !important; top: 0; }
我有一个注释定义如下: 我是这样使用它的: 现在,我有了第二个接口,它扩展了第一个: 我想获得MySecondInterface的所有注释,这意味着我也想获得超级接口上定义的注释。 我所尝试的: ######################################################################################### 结果是: 在所有情况下,
我使用GATE API和java代码,并试图对文档文本运行一个已知的JAPE规则,但不幸的是,我无法得到适当的结果。我的代码如下:
问题内容: 我正在使用JDBC来实现非常简单的数据库连接。 我已经创建了连接/语句并执行了查询。我在调试器中检查语句的查询对象,以确认它正在发送正确的查询。然后,我再次检查了数据库中的查询(直接从调试器复制),以确保其返回数据。但是,返回的结果集在.next()上给出false 这里有我遗漏的常见陷阱吗? 还有myDB类(一个简单的包装程序,使我可以将连接/语句代码放入任何项目中) 编辑:根据建议
全组合 问题描述 这道题是 LeetCode 78 题 - 子集。 从不含重复元素的 n 个元素中,选择 0~n 个元素,组成一个子集,找出所有的子集(幂集)。 解法一:二进制转换法 如果 n 个元素都不相同,可以使用二进制转换法求得所有的子集。将一个数从 0 开始,每次加 1,一直加到 $2^n-1$,其二进制表示从 000...000 到 111...111,每一位表示对应元素是否被选择。这种
问题内容: 我正在使用Selenium2对我的网站进行一些自动化测试,并且希望能够获得一些Javascript代码的返回值。如果我的网页中有Javascript函数,并且想调用该函数并将返回值获取到我的Python代码中,该怎么做? 问题答案: 要返回值,只需在传递给方法的字符串中使用JavaScript关键字,例如
我试图通过require($page.“.php”)传递一个页面;但是,它只是从页面返回代码。变量$page连接到products页面。代码如下所示。...索引页... 产品列表 第名称第价格 产品ORDER BY name ASC”;$Query=mysql_query($SQL);而($ROW=mysql_fetch_array($query)或die(mysql_error())){?><?