---
# System prepended metadata

title: Easy－1. Two Sum
tags: [Java, Easy, LeetCode]

---

###### tags: `LeetCode`,`Java`,`Easy`
# Easy－1. Two Sum
### **題目連結：** [**Two Sum**](https://leetcode.com/problems/two-sum/)

### **解題方向** 
* 最直覺的方法是用雙迴圈做計算，但那太耗時了，時間複雜度會變成Big-O(n^2)。
* 利用HashMap讓程式碼達到Big-O(n)。

### **完整程式碼**
```java=
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int arr[]= new int[2];
        HashMap<Integer,Integer> hashmap=new HashMap<>();
        for(int i=0;i<numbers.length;i++){
            int num=target-numbers[i];
            if(hashmap.containsKey(num)){
                arr[0]=hashmap.get(num);
                arr[1]=i;
                return arr;
            }
            hashmap.put(numbers[i],i);
        }
        return arr;
    }
}
```