15. 三数之和
15. 三数之和 15. 三数之和 ✨核心逻辑 本题采用 排序 + 双指针 的策略: 排序预处理:首先对数组进行排序,排序后不仅可以利用有序性快速查找到目标,还方便跳过重复元素。 固定第一层循环:遍历数组的每一个元素 nums[i],将其作为三个数中的第一个数。因为要求三数之和为 0,所以问题就转化
15. 三数之和 15. 三数之和 ✨核心逻辑 本题采用 排序 + 双指针 的策略: 排序预处理:首先对数组进行排序,排序后不仅可以利用有序性快速查找到目标,还方便跳过重复元素。 固定第一层循环:遍历数组的每一个元素 nums[i],将其作为三个数中的第一个数。因为要求三数之和为 0,所以问题就转化
11. 盛最多水的容器 11. 盛最多水的容器 ✨核心逻辑 本题采用 双指针(对撞指针) 的策略: 初始化指针:左指针 left 指向数组的最左端,右指针 right 指向数组的最右端,此时容器的宽度达到最大。 计算容积:容器能装水的容量由 左右指针指向的较短板高度 和 两指针间的距离 决定,即 m
167. 两数之和 II - 输入有序数组 167. 两数之和 II - 输入有序数组 ✨核心逻辑 本题由于数组已经是按 非递减顺序 排列的,因此可以利用 双指针(对撞指针) 策略在 O(1) 的额外空间内高效解决: 初始化指针:左指针 left 指向数组的最左端(最小值),右指针 right 指向