# #1 Two Sum ###### tags: `LeetCode` `Array` `待優化` :::info :pushpin: 重點 ::: --- [#1 Two Sum 題目連結](https://leetcode.com/problems/two-sum/) ## 一、理解題目 * 輸入:一個 `nums[]` 和 target * 找出 nums 裡哪兩個數字相加會等於 target * 輸出:回傳一個陣列,紀錄該兩個值的位置 ## 二、Edge Case ### 是否有極限值或特殊情況 * 值是否有負數 ? (不會) * 陣列長度是否會小於 2 ? (不會) * 會沒有答案或有 2 個以上嗎 ? (不會) ## 三、題目思考 ### 使用哪種資料結構:Array 1. 使用迴圈遍歷 nums,i 2. 使用第二個迴圈遍歷 nums,j 3. 判斷數字相加是否等於 target **邏輯:** ```1 let len be the length of nums let total be 0 for i (0 to len-1) do for j (i+1 to len) do total = nums[i] + nums[j] if (total = target) than return [i,j] end if end for end for ``` **程式碼實作:** ```javascript=1 const len = nums.length; let total = 0; for (let i=0 ; i<len-1 ; i++) { for (let j=i+1 ; j<len ; j++) { total = nums[i] + nums[j]; if (target === total) { return [i, j] } } } ``` ## 四、優化改善 內容 ## 五、學到什麼 * 內容