javascript - 在数组中搜索一定数量的数字
问题描述
我有一个数组,例如 [10, 5, 6, 3],还有一个变量 b = 13,我想计算数组中每个元素的总和,如果总和等于 = b(13) 返回 true,我首先知道最后一个元素总和 = 13。如何检查哪对元素的总和?
解决方案
您可以为丢失的部分制作一个哈希表,如果找到则返回。
function check(array, sum) {
var hash = {},
i = 0,
v;
while (i < array.length) {
v = array[i];
if (hash[v]) return true;
hash[sum - v] = true;
++i;
}
return false;
}
console.log(check([10, 5, 6, 3], 13));
console.log(check([10, 5, 6, 3], 17));
推荐阅读
- python - Django csrf_token 错误,我写的时候
- javascript - 将新的键/对元素添加到原始对象中:
- java - 访问存储在对象类型 Arraylist 中的不同类对象的属性、方法
- r - 根据行名过滤数据框
- c++ - 从字符串列表中删除元素
- java - 类型不匹配:无法将双精度转换为双精度 []
- active-directory - 能否在一个 Azure AD 域下同步不同的 AD 域?
- ios - 当 UIViewController 显示弹出框时,更改 CALayer 颜色与 UIView tintColor 同步
- google-tag-manager - 跟踪代码管理器 - 增强型电子商务
- python - 如何在 django 中获取字段名称而不是外国 ID