力扣两数之和java
时间: 2024-12-15 14:21:26 浏览: 8
在LeetCode平台上有一个经典的编程题目叫做“两数之和”(Two Sum),它的Java解决方案通常会涉及到哈希表的数据结构。这个问题要求你在给定一个整数数组`nums`和一个目标值`target`的情况下,找出数组中两个不同的元素,使得它们的和等于`target`。
以下是解决这个题目的一个基本Java代码示例:
```java
import java.util.HashMap;
import java.util.Map;
public class Solution {
public int[] twoSum(int[] nums, int target) {
// 创建一个空的HashMap用于存储数字及其索引
Map<Integer, Integer> map = new HashMap<>();
// 遍历数组
for (int i = 0; i < nums.length; i++) {
// 如果目标值减去当前元素存在map中,则找到了一对和为目标值的数
if (map.containsKey(target - nums[i])) {
return new int[]{map.get(target - nums[i]), i};
}
// 否则,将当前元素及其索引添加到map中
map.put(nums[i], i);
}
// 没有找到符合条件的数对,返回null
return null;
}
}
```
在这个函数中,我们首先检查每个元素是否已经在目标值减去它的结果中。如果找到匹配,我们就返回这两个元素的索引。如果没有找到,我们将当前元素及其索引添加到哈希表中,继续下一次迭代。
阅读全文