
双指针
文章平均质量分 97
一名熬夜学编程的爱好者
far away4002
The road may be long, but it will lead to the destination; the task may be difficult, but it will surely be accomplished.
展开
-
【优选算法篇】两队接力跑:双指针协作解题的艺术(下篇)
双指针通过从两端向中间收缩并动态调整计算条件,避免了暴力解法的多次重复计算,能够在最短时间内找到结果。这种思路同样适用于很多类似的优化问题,比如“接雨水”、“最小覆盖子串”等,掌握它会让你的算法能力更上一层楼。该算法通过排序和双指针的结合,有效地减少了重复计算,是解决三角形个数问题的经典方法。排序后的双指针遍历不仅逻辑简单,而且复杂度低,非常适合处理大规模数据。原创 2024-11-30 20:24:10 · 941 阅读 · 3 评论 -
【优选算法篇】两人赛跑解难题:双指针算法的妙用(上篇)
用最通俗的语言来讲所谓双指针算法是针对于遍历的过程的,我们平常在用for循环遍历的时候都是用单个指针在进行循环访问,而双指针就是用两个相同方向的或者相反方向的指针进行扫描,从而达道算法的目的。比如在一层循环里同时设置 i,j两个变量。换言之,双指针法充分使用了数组有序这一特征,从而在某些情况下能够简化一些运算,将时间复杂度从log(n^2)降到log(n)。注意:这里的指针,并非专指C语言中指针的概念,而是指索引,游标或指针,可迭代对象等!原创 2024-10-14 23:32:46 · 476 阅读 · 0 评论