🗒️15. 三数之和
2025-1-18
| 2025-1-18
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 18, 2025 02:21 PM
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != ji != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。
注意:答案中不可以包含重复的三元组。

双指针

先排序。固定一个数,然后将两个指针分别指向剩下数字的两端,接着向中间移动。
优化 1:if (x + nums[i + 1] + nums[i + 2] > 0) ,如果当前的三个连续数字加起来已经大一 0, 后面没必要算了。如果 x + nums[n - 2] + nums[n - 1] < 0 ,后面数字会越来越大,说不定就能凑成功。

📎 参考

  • LeetCode 热题 100
  • 231. 2 的幂693. 交替位二进制数
    Loading...