leetcode每日一题——两数之和
2024-08-29 11:19:18
- 题目:
两数之和
- 难度:
简单
- 描述:
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
- 解法:
class Solution {
public int[] twoSum(int[] nums, int target) {
//key:数组元素数值 value:数组元素位置
Map<Integer, Integer> addElementFirst = new HashMap<Integer, Integer>(); for (int i = 0; i < nums.length ; i++) {
//新的元素数值,Map中不包含则put
if (!addElementFirst.containsKey(nums[i])) {
addElementFirst.put(nums[i], i);
}
//当前元素数值对应求和的另一个加数
int eleSecond = target - nums[i];
//另一个加数是之前加入到Map中的情况
if (addElementFirst.containsKey(eleSecond) && addElementFirst.get(eleSecond) != i) {
return new int[]{addElementFirst.get(eleSecond), i};
}
}
return new int[]{-1, -1};
}
}
- 总结:
求和问题可以换个思路考虑——做差,然后在Map中快速搜索找到正解。
最新文章
- 搭建Hadoop2.5.2+Eclipse开发调试环境
- MongoDB的学习和使用
- lua的栈
- MyEclipse------File类的各种方法
- cadence 16.6 Pspice 仿真步骤
- 对C#中的web访问mysql数据库的一些知识点进行了整理归纳总结
- lower_bound()函数
- oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。
- SQL SERVER运维日记--收缩数据库
- Java集合ArrayList源码解读
- 【Python】Non-ASCII character '\xe6' 错误解决方法
- (概念)多个CPU和多核CPU以及超线程(Hyper-Threading)
- tornado架构分析3 options.py中基础类_Option
- 伪Ap接入点
- 《Java程序设计》第一周学习记录(2)
- 关于ArrayAdapter的getCount()的方法会造成空指针异常的分析
- RAMPS1.4 3d打印控制板接线与测试3
- UVa 10970 Big Chocolate (想一下就AC了)
- windows系统下,安装多个版本的jdk,java -version
- MS SQLServer 批量附加数据库