(1) 两数之和
网址:https://leetcode-cn.com/problems/two-sum/
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
class Solution {
public int[] twoSum(int[] nums, int target) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
int[] arr = new int[2];
int i = 0;
for(i = 0;i < nums.length; i++){
map.put(nums[i], i);
}
for(i=0;i<nums.length;i++){
int diff=target-nums[i];
//containsKey() 方法检查 hashMap 中是否存在指定的 key 对应的映射关系。
//获取指定 key 对应对 value
if(map.containsKey(diff) && map.get(diff) != i){
arr[0]=i;
arr[1]=map.get(diff);
return arr;
}
}
return arr;
}
}
原文:https://www.cnblogs.com/LiuYUE-fusheng/p/15311746.html