请实现“三数之和”:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c,使得 a + b + c = 0?找出所有满足条件且不重复的三元组。请说明你的算法思路和时间复杂度。
考察说明
考察排序与双指针法解决三数之和问题的能力
回答思路
- 能够正确实现排序后固定一个数,用双指针扫描剩余区间的算法
- 理解并处理跳过重复元素以避免重复三元组
- 能分析时间复杂度为 O(n^2)、空间复杂度为 O(1)(不计输出)
- 能解释双指针移动的合理性(根据当前和与零的关系移动左右指针)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。