1.两数之和

    *给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。*

1.哈希解法

var twoSum = function(nums, target) {
    let len = nums.length;
    // 创建 MAP
    const MAP = new Map();
    for (let i = 0; i < len; i++) {
        // 提取共用
        let other = target - nums[i];
        // 判断是否符合条件,返回对应的下标
        if (MAP.get(other) !== undefined) return [MAP.get(other), i];
        // 不符合的存入hash表
        MAP.set(nums[i], i)
    }
}
   

2.数组解法(思路一样)

function indexof(arr, val) {
  let index;
  arr.forEach((element, i) => {
    if(element === val){
      index = i;
    }
  });
  return index;
}

function twosumn(arr, target) {
  let arr1 = [];
  for(let i=0; i

你可能感兴趣的:(1.两数之和)