每天一到算法题-数组
白话描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum
白话实现:用一个map,从第一个数开始值,键放入,从第二个数开始,如果符合条件,返回两个下标,并break。
class Solution {
public int[] twoSum(int[] nums, int target) {
Map m=new HashMap();
int[] s=new int[2];
for(int i=0;i<nums.length;i++){
if(m.get(target-nums[i])==null)
m.put(nums[i],i);
else{
s[0]=(int)(m.get(target-nums[i]));
s[1]=i;
break;
}
}
return s;
}
}