两数之和

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

  • 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
  • 你可以按任意顺序返回答案。

    🌰:

    1. 输入:nums = [2,7,11,15], target = 9
    2. 输出:[0,1]
    3. 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]
    1. 输入:nums = [3,2,4], target = 6
    2. 输出:[1,2]
    1. 输入:nums = [3,3], target = 6
    2. 输出:[0,1]

    解法✏:

    1. 双层循环法,时间复杂度不小于O(n²)

    2. 哈希表
  • 使用map记录下nums数组中 target - item 的值以及其下标,若当前元素在map中匹配到了key,就说明key对应的index值于当前index值对应的元素相加等于target。 ```javascript const twoSum = function (nums, target) { const numMap = new Map(); let index = 0; let result = 0; nums.some((item) => { console.log(numMap); const temp = target - item; if (numMap.has(item)) {

    1. result = numMap.get(item);
    2. return true;

    } else {

    numMap.set(temp, index++);
    

    } }); return [index, result]; };

const result = twoSum([2, 7, 11, 15], 9); console.log(result); ```


有效的字母异位调

无重复字符的最长子串

前K个高频单词

原子的数量