Skip to main content

Command Palette

Search for a command to run...

Leet code1. Two Sum

Updated
View as Markdown
Leet code1. Two Sum
Y

一言敝之就是職業婦女。

力扣久仰大名,最近需要多唸點這方面知識,簡單筆記,有AI 協助真的太好了,不用一直反覆找資料,有疑問的地方可以一直問,甚至可以把自己想法和他討論,可以讓自己夠快融會貫通:)

題目描述

LeetCode 1 - Two Sum

給你一個整數陣列 nums 和一個目標值 target

請找出陣列中和為目標值的兩個數字,回傳他們的索引。


解題思路

  • 用 hash map 存已經看過的數字和索引

  • 每次看新數字時,檢查 target - num 有沒有在 hash map 裡

  • 有的話就回傳兩個索引,沒有就把新數字塞進 hash map


程式碼

```js
const twoSum = function(nums, target) {
    const map = {}
    for (let i = 0; i < nums.length; i++) {
        const result = target - nums[i]
        if (map[result] !== undefined) {
            return [map[result], i]
        }
        map[nums[i]] = i
    }
}

易錯點

  • hash map 存「值:索引」

  • 先檢查 result,有才回傳,沒有才存進 map

  • 不要把自己跟自己配對


白癡比喻

就像在超商湊滿額,

每拿一樣商品就問:有沒有人缺我這個金額?

有的話直接湊對結帳XD


測試案例

markdown複製
```js
twoSum([2,7,11,15], 9) // [0, 1]
twoSum([3,2,4], 6)     // [1, 2]
twoSum([3,3], 6)       // [0, 1]

進階思考(可選)

  • 這題用暴力法 O(n^2) (雙層 for 迴圈)也能做,但 hash map 解法 O(n) 更快

  • 如果要回傳所有組合,可以用陣列存結果

More from this blog

Uncaught Error: Minified React error #329 發生以及可能解決方向

重點:Minified React error #329(Unknown root exit status)常見於 SSR 與 CSR 首次渲染輸出不一致(資料或節點結構不同)。 1. 現象 狀況條件表徵 首次載入/重新整理偶發錯誤無法重現的環境使用慢速網路(3G) + 可重現的環境機率出現Console 拋 #329 首屏閃動 / 全量替換SSR 已渲染列表, CSR 初始為空UI 閃爍/卡住/無動作 浮動元件顯示異常條件 mount 多個節點位置跳動 / 佈局不穩 2...

Nov 17, 2025

Redmine 好用的 Raycast 插件與自製好用 plug-in

我是 Raycast 的愛用者 <3 工作上常需要使用 Eedmine 切卡,看 task 之類的,我個人偏好Asana or Jira 自動化和更完整串流整個公司流程的任務,可本人就是適應力強,縱使覺得不太習慣的工作(謙虛的說法)也會想辦法搞得好用 推薦一個插件,和我自己寫的 plug-in jwicker 寫的 Raycast Redmine https://www.raycast.com/jwickers/redmine 此插件可以在 Raycast 中快速搜尋並開啟 Redmine 的 ...

Nov 10, 2025

前端踩坑實錄:用 user-scalable=0 擋放大,還有哪些更溫柔的做法?

其實沒有,還是只有那兩招。 這個議題早些年常遇到,即時現在還是常遇到(?還是一樣重寫解法,專案中有搜尋部分,在特定型號 iOS 18.4, iPhone 16 Plus 再點開搜尋(input) 會自動放大,如下圖,我應該都有好好碼到吧(? 會發現 input 焦點後,畫面會被 zoom in 放大,主要原因 行動版(特別是 iOS Safari)特定版本下(比如本案是在 iOS 18.4, iPhone 16 Plus下) 在點擊 input/textarea 時,若字體小於 16px,...

Nov 7, 2025

切一下,世界安靜了:aten 的 Kvm Us3312 讓我少罵三句幹的雙系統配置術

目前敝司環境主要配置一台 windows 筆電(收信使用:P)和我自己的 Mac air,還有一台 BenQ 27吋的螢幕,Logi K855 + Logi Lift,除了 window 筆電,其他都是我自備的 純粹就是我想搭配白色系的桌面:P 最開始我是把 window 收在置物櫃,因 windows 筆電公司有鎖藍牙,所以無法透過K855 + Lift 多頻切換方式去連線,我也不想透過 usb 方式連線鍵鼠組,所以早期透過 Mac air APP 「Windows APP」遠端連線到 wi...

Oct 30, 2025

Yukki的腦洞很大

13 posts

職業婦女,前端工程師,

白天上日班(工作),晚上上晚班(家庭)

日夜笙歌。