关于javascript:算法

// 工夫复杂度O(n)、 空间复杂度O(n)
function twoNumAdd(arr, target) {
if (Array.isArray(arr)) {

// 应用map将遍历过的数字存起来,空间换工夫
let map = {};
for (let i = 0; i < arr.length; i++) {
  // 从map中查找是否有key 等于 target-nums[i],如果有,则条件成立,返回后果
  if (map[target - arr[i]] !== undefined) {
    return [target - arr[i], arr[i]];
  } else {
    // 条件不成立,将该值存起来
    map[arr[i]] = i;
  }
}

}
return [];
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理