###### 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; } } ```