LeetCode Hot 热题100 算法题 1.两数之和 -算法&测试-easy模式
程序员文章站
2024-03-22 14:26:28
...
LeetCode Hot 热题100 算法题1.两数之和-算法&测试@[Evelyn_97](力扣刷题 热题100 easy模式)
1.两数之和
给定一个整数数组nums和一个目标值target,在该数组中找出和为target的那两个整数,并返回它们的下标。
示例:nums = [2,7,11,15], target = 9
返回:[0,1]
使用HashMap优化,时间复杂度O(n)
创建哈希表,对于数组中的每一个x,首先查询哈希表中是否存在target-x,再将x插入哈希表,可保证不让x和自己匹配。
package leetcode.easy;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Solution001 {
public static void main(String[] args) {
int[] nums = {2,7,11,9};
int target = 9;
S1SumTwoNum result = new S1SumTwoNum();
System.out.println(Arrays.toString(result.sumTwoNum(nums, target)));
}
}
class S1SumTwoNum{
public int[] sumTwoNum(int[] nums,int target) {
Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
for (int i = 0; i < nums.length; i++) {
if (hashtable.containsKey(target-nums[i])) {
return new int[] {hashtable.get(target-nums[i]),i};
}
hashtable.put(nums[i], i);
}
return new int[0];
}
}
上一篇: 无头非循环双向链表的增删查改
下一篇: 和为 s 的连续正数序列
推荐阅读
-
LeetCode Hot 热题100 算法题 234.回文链表-算法&测试-easy模式
-
LeetCode Hot 热题100 算法题 283.移动零-算法&测试-easy模式
-
LeetCode Hot 热题100 算法题 160.相交链表-算法&测试-easy模式
-
LeetCode Hot 热题100 算法题 141.环形链表-算法&测试-easy模式
-
LeetCode Hot 热题100 算法题 1.两数之和 -算法&测试-easy模式
-
LeetCode Hot 热题100 算法题 461.汉明距离-算法&测试-easy模式
-
LeetCode Hot 热题100 算法题 206.反转链表-算法&测试-easy模式
-
LeetCode Hot 热题100 算法题 169.多数元素-算法&测试-easy模式