技术栈
双指针
老鼠只爱大米
2 天前
算法
·
leetcode
·
链表
·
递归
·
双指针
·
迭代
·
链表交换
LeetCode经典算法面试题 #24:两两交换链表中的节点(迭代法、递归法等多种实现方案详细解析)
LeetCode 24. 两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
沉默-_-
2 天前
java
·
c++
·
算法
·
蓝桥杯
·
双指针
力扣hot100双指针专题解析2(C++)
第一种解法核心思路是:从左到右遍历,对于每个位置,找到能形成“水槽”的左右边界。但实际写起来很复杂,因为要处理多种情况。
老鼠只爱大米
2 天前
算法
·
leetcode
·
链表
·
双指针
·
删除链表节点
·
一趟扫描
LeetCode经典算法面试题 #19:删除链表的倒数第N个结点(双指针、栈辅助法等多种实现方案详细解析)
LeetCode 19. 删除链表的倒数第N个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
2401_84149564
3 天前
数据结构
·
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 Horse
https://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。
长安er
1 个月前
数据结构
·
算法
·
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。