使用 Cursor 智能编辑器解决 LeetCode 题解问题

1,013 阅读1分钟

前言

最新内容: Cursor 智能编辑器需要进行收费啦,打铁还是得自身硬啊。

  1. 年前在 LeetCode 刷题过程中,发现题解大都是后端语言,JavaScript 很少,为了解决该问题特意在 GitHub 首页开了仓库记录题解,同时开发了 LeetCode 浏览器插件方便快速找到题解。
  2. 年初近期,Cursor 智能编辑器来了,题解啥的瞬间没有啥意义了,秃然间地索然无味。

两数之和

这是 LeetCode 上的第一道题,输入 twoSum, 即可得到下面答案:

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

三数之和

这是 LeetCode 上的一道中等难度题,输入 threeSum, 即可得到下面答案:

function threeSum(nums, target) {
  nums.sort((a, b) => a - b)
  const result = []
  for (let i = 0; i < nums.length - 2; i++) {
    if (i > 0 && nums[i] === nums[i - 1]) continue // skip duplicates
    let left = i + 1,
      right = nums.length - 1
    while (left < right) {
      const sum = nums[i] + nums[left] + nums[right]
      if (sum === target) {
        result.push([nums[i], nums[left], nums[right]])
        while (left < right && nums[left] === nums[left + 1]) left++ // skip duplicates
        while (left < right && nums[right] === nums[right - 1]) right-- // skip duplicates
        left++
        right--
      } else if (sum < target) {
        left++
      } else {
        right--
      }
    }
  }
  return result
}

并且,在一些关键点会添加上注释。

总结

这是个人项目死于 AI, 应该还有不少的项目和这个情形一般,索然无味 ~