题目:
https://leetcode.com/problems/two-sum/
题目大意
已知一个数组的所有数值和一个目标值,找到数组中的两个数的索引使得这两个数的和恰好等于目标值。
用Map接口:
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] ans = new int[2];
HashMap<Integer,Integer> hmp = new HashMap<Integer,Integer>();
for(int i = 0;i < nums.length;i++){
Integer temp = hmp.get(nums[i]);
if(temp == null)
hmp.put(nums[i], i);
temp = hmp.get(target - nums[i]);
if(temp != null && temp < i){
ans[0] = temp + 1;
ans[1] = i + 1;
break;
}
}
return ans;
}
}