双指针

老鼠只爱大米2 天前
算法·leetcode·链表·递归·双指针·迭代·链表交换
LeetCode经典算法面试题 #24:两两交换链表中的节点(迭代法、递归法等多种实现方案详细解析)LeetCode 24. 两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
沉默-_-2 天前
java·c++·算法·蓝桥杯·双指针
力扣hot100双指针专题解析2(C++)第一种解法核心思路是:从左到右遍历,对于每个位置,找到能形成“水槽”的左右边界。但实际写起来很复杂,因为要处理多种情况。
老鼠只爱大米2 天前
算法·leetcode·链表·双指针·删除链表节点·一趟扫描
LeetCode经典算法面试题 #19:删除链表的倒数第N个结点(双指针、栈辅助法等多种实现方案详细解析)LeetCode 19. 删除链表的倒数第N个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
2401_841495643 天前
数据结构·python·算法·leetcode·链表·遍历·双指针
【LeetCode刷题】删除链表的倒数第N个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:示例 2:示例 3:提示:
老鼠只爱大米5 天前
算法·leetcode·链表·双指针·相交链表·长度差法
LeetCode经典算法面试题 #160:相交链表(双指针法、长度差法等多种方法详细解析)LeetCode 160. 相交链表给你两个单链表的头节点 headA 和 headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。
老鼠只爱大米5 天前
算法·leetcode·链表·递归·双指针·快慢指针·回文链表
LeetCode经典算法面试题 #234:回文链表(双指针法、栈辅助法等多种方法详细解析)LeetCode 234. 回文链表给你一个单链表的头节点 head,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。
老鼠只爱大米11 天前
算法·leetcode·双指针·滑动窗口·最小覆盖子串·minwindow
LeetCode算法题详解 76:最小覆盖子串给定两个字符串 s 和 t,长度分别是 m 和 n,返回 s 中的 最短窗口 子串,使得该子串包含 t 中的每一个字符(包括重复字符)。如果没有这样的子串,返回空字符串 ""。
老鼠只爱大米13 天前
算法·leetcode·双指针·字符串匹配·字母异位词·滑动窗口算法
LeetCode算法题详解 438:找到字符串中所有字母异位词给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。
不吃粑粑-15 天前
双指针
环形数组上的滑动窗口,取模题型trick abc440_c C - Striped Horsehttps://atcoder.jp/contests/abc440/tasks/abc440_c思路:
老鼠只爱大米16 天前
leetcode·动态规划·双指针·单调栈·接雨水·雨水收集
LeetCode算法题详解 42:接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1
老鼠只爱大米16 天前
leetcode·面试题·双指针·盛最多水的容器·面积最大化
LeetCode算法题详解 11:盛最多水的容器给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。
老鼠只爱大米17 天前
算法·leetcode·双指针·三数之和·分治法·three sum
LeetCode算法题详解 15:三数之和给你一个整数数组 nums,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k,同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。
老鼠只爱大米17 天前
算法·leetcode·双指针·快慢指针·移动零·move zeroes
LeetCode算法题详解 283:移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。
田梓燊19 天前
双指针
leetcode 有序数组的平方思路类似于归并排序,我们需要首先注意到,距离零更远的数字,是平方更大的数字,换句话说,就是绝对值更大的数字,是平方更大的数字。我们这样做是一个线性的做法,如果我们按照绝对值排序,只要是基于比较的排序算法,时间复杂度的下界就是 O(nlogn)O(nlogn)O(nlogn) ,所以的话,我们需要更小的时间复杂度需要考虑不进行排序,考虑用双指针实现我们的需求。
无尽的罚坐人生20 天前
数据结构·算法·leetcode·动态规划··双指针
hot 100 42. 接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。n == height.length 1 <= n <= 2 * 104 0 <= height[i] <= 10^5
羑悻的小杀马特20 天前
算法·leetcode·职场和发展·动态规划·双指针·单调栈·接雨水
LeetCode 42接雨水全解:暴力超时→DP降维打击→双指针极限压缩空间→单调栈栈式凹槽定位,全景式解析算法优化路径本篇围绕LeetCode 42“接雨水”展开,剖析四种解法:暴力法通过嵌套循环统计每柱接水量,易超时;动态规划预先记录左右最大值,将复杂度降至O(n);双指针边遍历边更新极值,空间优化至O(1);单调栈利用栈维护“凹槽”,高效定位存水区间。各方法层层递进,展现算法优化的核心思路。
无尽的罚坐人生25 天前
数据结构·算法·双指针
hot 100 283. 移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。
伟大的车尔尼25 天前
双指针·哈希表
双指针题目:K 和数对的最大数目标题:K 和数对的最大数目出处:1679. K 和数对的最大数目4 级给定一个整数数组 nums \texttt{nums} nums 和一个整数 k \texttt{k} k。
长安er1 个月前
数据结构·算法·leetcode·链表·双指针
LeetCode136/169/75/31/287 算法技巧题核心笔记目录一、136. 只出现一次的数字题目概述核心理论解题思路解法实现(Java)复杂度分析重难点分析同类题拓展
伟大的车尔尼1 个月前
二叉树··二叉搜索树·双指针
双指针题目:两数之和 IV - 输入二叉搜索树标题:两数之和 IV - 输入二叉搜索树出处:653. 两数之和 IV - 输入二叉搜索树3 级给定一个二叉搜索树的根结点 root \texttt{root} root 和一个目标值 k \texttt{k} k,如果二叉搜索树中存在两个元素和等于给定的目标值,则返回 true \texttt{true} true。