求解答Two Sum变种的问题

来源:4-4 使用查找表的经典问题 Two Sum

stoneboy100200

2020-05-15

波波老师,最近面试碰到个题目,看起很简单,题目是leetcode第一题“two sum”的改版:题目要求返回的是所有和为目标值的那两个整数的数组下标(允许重复元素)。leetcode原题是只要找到一组结果即可返回,而这个是要找到所有结果。当时想到您的思路用哈希表,确实可以解决两个重复元素之和等于目标值的问题,如3+3=6(目标值是6),但是如以下数组[3,3,1],目标和为4的输出应为[[0,2], [1,2]],那么用hasp map第二个“3”势必会覆盖第一个“3”的key,输出结果应该只会有一个[1,2]。不知道题目我有没有描述清楚,希望您能帮助解答一下有什么办法能解决这个问题。如果可以的话能给个实例,多谢了。

写回答

1回答

liuyubobobo

2020-05-15

每个 hashmap 应该对应一个 array,存储所有是这个值的索引,而不能仅仅是一个值。


继续加油!:)

1
6
stoneboy100200
回复
liuyubobobo
平均时间复杂度是n吗?看起来不太像,有两个循环?
2020-05-16
共6条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7408 学习 · 1150 问题

查看课程