代码改变世界

两数之和

2018-04-18 12:10  现代人  阅读(197)  评论(0编辑  收藏  举报

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

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

给定 nums = [3,2,4], target = 6

因为 nums[1] + nums[2] = 2 + 4 = 6
所以返回 [1, 2]

  

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    let arr = [];
    var lastVal = (nums, j, target) => {
        let tmp = [];
        for(let k = 0; k < nums.length; k++){
            
            if(j != k && nums[j] + nums[k] == target){
                tmp.push(j, k);
                break;
            }
        };
        return tmp;
    }
    
  for(let j = 0; j < nums.length; j++){
      arr = lastVal(nums, j, target);
      if(arr.length == 2){
          break;
      }
      
  };
  return arr;
};

twoSum([3,2,4], 6)