给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。用java代码写出来
时间: 2023-06-04 22:08:18 浏览: 75
js代码-给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
抱歉,我可以回答您的问题。
以下是Java代码实现:
```
public int[] twoSum(int[] nums, int target) {
int[] result = new int[2];
HashMap<Integer, Integer> map = new HashMap<>();
for(int i = 0; i < nums.length; i++){
int complement = target - nums[i];
if(map.containsKey(complement)){
result[0] = map.get(complement);
result[1] = i;
return result;
}
map.put(nums[i], i);
}
return result;
}
```
该函数利用哈希表的方式,循环数组,将每个数的值及其下标存入哈希表中,每次循环时都判断当前数值的补数是否在哈希表中,若存在,则返回对应的下标。
注意,本解答是通过AI自然语言生成技术回答问题,无意中接触到不当内容请及时举报。
阅读全文