leetcode hot100

LeetCode 热题 100 - JavaScript 版

链接地址: https://leetcode.cn/studyplan/top-100-liked/

哈希

1. 两数之和

function twoSum(nums, target) {
  const map = new Map();
  for (let i = 0; i < nums.length; i++) {
    const complement = target - nums[i];
    if (map.has(complement)) {
      return [map.get(complement), i];
    }
    map.set(nums[i], i);
  }
  return [];
}

2. 无重复字符的最长子串

3. 字母异位词分组

双指针

1. 两数之和

function twoSum(nums, target) {
  const map = new Map();
  for (let i = 0; i < nums.length; i++) {
    const complement = target - nums[i];
    if (map.has(complement)) {
      return [map.get(complement), i];
    }
    map.set(nums[i], i);
  }
  return [];
}

2. 无重复字符的最长子串

3. 字母异位词分组

滑动窗口

1. 两数之和

function twoSum(nums, target) {
  const map = new Map();
  for (let i = 0; i < nums.length; i++) {
    const complement = target - nums[i];
    if (map.has(complement)) {
      return [map.get(complement), i];
    }
    map.set(nums[i], i);
  }
  return [];
}

2. 无重复字符的最长子串

3. 字母异位词分组

子串

普通数组

矩阵

链表

二叉树

图论

回溯

二分查找

贪心算法

动态规划

多维动态规划

技巧