public class TwoSum {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> mem = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
if (mem.containsKey(target - nums[i])) {
return new int[] {i, mem.get(target - nums[i])};
} else {
mem.put(nums[i], i);
}
}
return null;
}
}
O(n) time complexity
就是hashmap的dp
该博客介绍了一个使用HashMap实现的两数之和算法,具有O(n)的时间复杂度。通过创建一个HashMap存储数组元素及其索引,遍历数组检查是否存在目标值减去当前元素的值,从而找到解决方案。这种方法巧妙地利用了HashMap的查找效率,是典型的数据结构应用案例。
153

被折叠的 条评论
为什么被折叠?



