# #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]
}
}
}
```
## 四、優化改善
內容
## 五、學到什麼
* 內容