18-哈希表/第 4 章第 4 节《使用查找表的经典问题 Two Sum》(4题)


4-4 使用查找表的经典问题 Two Sum(4题)

[TOC]

例题1:LeetCode 第 1 题

题目要求:两数之和。给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

![image-20191123212444594](/Users/liwei/Library/Application Support/typora-user-images/image-20191123212444594.png)

题目难度:简单

中文网址:https://leetcode-cn.com/problems/two-sum/description/

英文网址:

求解思路:这道题说实话我是看了解答的,但是一但了解了思路,就很难忘记了。不过虽然很简单,还是拿具体例子说明一下。

我们在遍历数组元素的时候,在放入一个“集合”(抽象意义上的集合,也可以是字典)之前,我们先检查,是不是已经放入了 (target - 当前遍历的那个元素),如果包含了,就说明我们找到了这两个数。

以 [2, 7, 11 ,15 ],为例,首先 2 进入“集合”,然后是 7 ,检查 (target - 7 = 9 -7 =)2,在“集合”中,则说明我们找到了数组中的两个数之和为 target ,怎么样,是不是超级简单。因为这道题要返回的是数组的索引,因此我们放入“集合”对象的时候应该带上一个数据,那么这个“集合”选用“字典”(Map) 是再合适不过的了。

我的解答:

![image-20191123212514595](/Users/liwei/Library/Application Support/typora-user-images/image-20191123212514595.png)

参考资料:

![image-20191123212541064](/Users/liwei/Library/Application Support/typora-user-images/image-20191123212541064.png)

最佳的思路:

![image-20191123212559397](/Users/liwei/Library/Application Support/typora-user-images/image-20191123212559397.png)

练习1:LeetCode 第 15 题 3Sum

中文网址:https://leetcode-cn.com/problems/3sum/description/

题目要求:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。

题目难度:中等。

![image-20191123212636924](/Users/liwei/Library/Application Support/typora-user-images/image-20191123212636924.png)

练习2:LeetCode 第 18 题 4Sum

题目要求:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。

题目难度:中等。

中文网址:https://leetcode-cn.com/problems/4sum/description/

练习3:LeetCode 第 16 题 3Sum Closest

![image-20191123212723345](/Users/liwei/Library/Application Support/typora-user-images/image-20191123212723345.png)


文章作者: liweiwei1419
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liweiwei1419 !
评论
 上一篇
18-哈希表/第 4 章第 5 节《灵活选择键值 4Sum II》(2题) 18-哈希表/第 4 章第 5 节《灵活选择键值 4Sum II》(2题)
4-5 灵活选择键值 4Sum II(2题)[TOC] 例题1:LeetCode 第 454 题题目要求:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j]
2019-11-23 liweiwei1419
下一篇 
18-哈希表/第 4 章 查找表相关问题(18题) 18-哈希表/第 4 章 查找表相关问题(18题)
第 4 章 查找表相关问题(18题)[toc] 查找,是使用计算机处理问题时的一个最基本的任务,因此也是面试中非常常见的一类问题。很多算法问题的本质,就是要能够高效查找。学会使用系统库中的 Map 和 Set ,就已经成功了一半。 4-
2019-11-23 liweiwei1419
  目录