题1:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数

  渣渣一个,只能从最基础开始做,但是会记录每个题的思路和过程,从之前能找到的到以后,慢慢记录

题目1:

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

nums = [2, 7, 11, 15], target = 9  要求得到   [0, 1]
  我的想法是类似将第一个数字固定,然后去依次比较之后的数字,把符合要求的添加到一个空数组当中,最后返回
 1 function getSum(nums, target) {
 2    var newArr = [];
 3    for (var i = 0; i < nums.length; i++) {
 4      for (var j = i + 1; j < nums.length; j++) {
 5        console.log(i);
          if (target === nums[i] + nums[j]) {
 7          newArr.push(i, j);
 8        }
 9      }
10    }
11    return newArr;
12  }

  这个能够满足题意,不过没有考虑性能方面的问题, 我比较在意的是在数组比较长的情况下,只显示索引会显得不够明显,所以我稍微改了一下,用二维数组的方式直观的显示对应的元素本身

 1 function getSum(nums, target) {
 2   var newArr = [];
 3   for (var i = 0; i < nums.length; i++) {
 4     for (var j = i + 1; j < nums.length; j++) {
 5       if (target === nums[i] + nums[j]) {
 6         newArr.push([nums[i], nums[j]]);
 7       }
 8     }
 9   }
10   return newArr;
11 }
原文地址:https://www.cnblogs.com/missjingjing/p/9558632.html