class Solution { public int[] twoSum(int[] nums, int target)
时间: 2024-09-19 20:09:19 浏览: 46
这是一个经典的编程题目,通常称为“两数之和”,目的是找到数组`nums`中两个数,它们的和等于给定的目标值`target`。在这个`Solution`类中的`twoSum`方法,它接收两个参数:
1. `int[] nums`: 输入的一个整数数组,包含了若干未知数值。
2. `int target`: 需要找出数组中两个数相加的结果。
这个方法的主要作用是通过遍历数组,并用一个哈希表或类似的数据结构来存储每个遇到的数字及其索引,然后检查目标值与当前元素的差是否已经在哈希表中。如果找到了,就返回这两个数的索引;如果没有,继续寻找直到遍历完整个数组。
以下是一个简单的解决方案示例(使用哈希表):
```java
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[]{map.get(complement), i};
}
map.put(nums[i], i);
}
throw new IllegalArgumentException("No two sum solution");
}
```
阅读全文