calculateLeetCode / 编程面试
Two Sum 面试题讲解
Two Sum 之所以长期有搜索量,不是因为它难,而是因为它很适合检验候选人是否能把“正确答案、复杂度、取舍、追问应对”讲完整。
核心模式
哈希表查找
面试重点
表达取舍逻辑
推荐延展
补数类变体
正在检查账户状态...
为什么 Two Sum 仍然值得认真讲透
搜索 Two Sum 的用户并不只是来找代码答案,他们更需要一页能帮助自己理解“面试时该怎么讲”的内容。
真正有用的 Two Sum 讲解,应该帮用户把暴力解、哈希优化、复杂度变化和常见追问一次讲清楚。
- subdirectory_arrow_right题目简单,但非常容易看出候选人是否会比较暴力解与优化解。
- subdirectory_arrow_right面试官经常从这题延伸到有序数组、流式输入、返回索引等变体。
- subdirectory_arrow_right它适合作为更大哈希表题型集群的入口页。
一份更强的回答结构应该包含什么
真正好的回答不是直接写代码,而是把为什么要用哈希表、存什么数据、为什么遍历顺序重要,一起讲清楚。
基础解法
O(n²)
先给出双循环的直观方案,证明你能快速建立正确基线。
优化解法
O(n)
用哈希表存已经见过的数字,再检查当前数的补数是否已经出现。
面试细节
索引 / 重复值
说明是否返回索引、是否允许重复、是否保证一定有解。
常见问题
Two Sum 会不会太基础,不值得准备?expand_more
不一定。即使题目本身简单,面试官也可能借此观察你的表达、边界处理和从基础解到优化解的推进能力。
刷完 Two Sum 后下一步做什么?expand_more
建议继续做哈希表变体、有序双指针和 3Sum 类追问题,把模式讲透。