import java.util.HashMap;
import java.util.Map;
public class TwoSum {
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);
}
// 如果没有找到符合条件的两个元素,返回空数组
return new int[0];
}
public static void main(String[] args) {
TwoSum solution = new TwoSum();
int[] nums = {2, 7, 11, 15};
int target = 9;
int[] result = solution.twoSum(nums, target);
System.out.println("[" + result[0] + ", " + result[1] + "]");
}
}
算法 --- java
于 2024-03-18 11:48:32 首次发布