LeetCode第一題--兩個數的和
阿新 • • 發佈:2019-01-31
LeetCode第一題–兩個數的和
程式碼
import java.util.HashMap;
import java.util.Map;
public class AddTwoNumbers {
public static int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
int length = nums.length;
for (int i = 0 ; i < length ; i++){
map.put(nums[i], i); //存放值與位置的對應
}
for(int j = 0 ; j < length ; j++) {
int key = target - nums[j];
if (map.containsKey(key)) {
int value = map.get(key);
if(value != j){
return new int[]{j,value};
}else{
continue;
}
}
}
return new int[]{-1,-1}; //否則說明不存在
}
public static void main(String[] args) {
//int[] nums = {2,7,11,15};
int[] nums = {3,2,4};
/*int[] twoSum = twoSum(nums, 9);*/
int[] twoSum = twoSum(nums, 6);
for (int i : twoSum) {
System.out.println(i + " ");
}
}