力扣第三题 java
时间: 2024-07-11 19:01:13 浏览: 121
Leet Code_力扣原题_leetcode官网_
力扣(LeetCode)是一个非常受欢迎的在线算法练习平台,其第3题是经典的“两数之和”,题目英文标题为 "Two Sum"。这是一个简单的数组操作问题,目标是给定一个整数数组 nums 和一个目标值 target,找出数组中两个数加起来等于目标值的索引。
Java实现这个问题的代码可能如下所示:
```java
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);
}
// 如果没有找到解,返回空数组
return new int;
}
}
```
在这个方法中,我们用哈希表O(1)时间复杂度查询前缀和是否满足条件,如果找到就直接返回两个元素的下标,遍历完整个数组后如果没有找到解决方案,返回一个空数组。
阅读全文