java给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
时间: 2023-10-20 07:27:52 浏览: 63
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标
你可以使用两层循环来遍历整个数组,找到和为目标值的两个整数。具体步骤如下:
1. 创建一个HashMap,用于存储数组元素和其对应的索引。
2. 遍历数组nums,对于每个元素num,执行以下步骤:
- 计算目标值与当前元素的差值:diff = target - num。
- 检查差值diff是否存在于HashMap中。
- 如果存在,则返回两个元素的索引:[HashMap.get(diff), 当前元素的索引]。
- 如果不存在,则将当前元素及其索引加入HashMap中。
3. 如果遍历完整个数组后仍未找到符合条件的两个元素,则返回一个空数组。
下面是使用Java代码实现的示例:
```java
import java.util.HashMap;
public class Solution {
public int[] twoSum(int[] nums, int target) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int diff = target - nums[i];
if (map.containsKey(diff)) {
return new int[] { map.get(diff), i };
}
map.put(nums[i], i);
}
return new int[0];
}
}
```
希望这能帮助到你!如果还有其他问题,请随时提问。
阅读全文