技术栈

对撞指针

还是码字踏实
10 天前
数据结构·算法·leetcode·双指针·对撞指针
基础数据结构之数组的双指针技巧之对撞指针(两端向中间):三数之和(LeetCode 15 中等题)**题目:**给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 **解题思路:**三层循环暴力法会得到重复结果,所以需要先排序去除重复。 双指针对撞也需要先排序,之后先固定一个初始值,之后需要俩数字和初始值结合起来为0,俩数字如何选择?可以通过第一个数字和最后一个数字加起来看跟
川峰
2 年前
leetcode·双指针·对撞指针·快慢指针·数据结构与算法
【LeetCode刷题笔记】双指针本题与【905. 按奇偶排序数组】几乎雷同。本题与【167. 两数之和 II - 输入有序数组】相同这种算法是不断比较未处理区域的值和已处理区域的最后一个值,由于数组是升序排列的,所以只需要跳过那些与已处理区域最后一个相同的值即可。然后只将不同的值往前面放。
小王学代码
2 年前
算法·双指针算法·对撞指针·快慢指针
双指针算法双指针算法可以实现对于时间复杂度降一维度,使得O(n2)的算法时间复杂度变为O(n)
我是有底线的