- 博客(19)
- 收藏
- 关注
原创 239.滑动窗口最大值
维护一个双端队列 队列里加入的是数组的索引 队头是要获取的最大值 每次遍历数组 将窗口数组元素最大的放到队头 当窗口形成的时候 删除比每次加入窗口的新元素小的旧元素 保持队列递减性质 记录最大值即可。的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口的位置 最大值。滑动窗口每次只向右移动一位。
2025-04-18 16:23:05
195
原创 19.删除链表的倒数第N个结点
利用双指针最为方便 创建一个哑结点指向头 定义两个指向哑结点的快慢指针 先让快指针走n步 再同时让快慢指针一起走 当快指针指到最后一个结点时 慢指针刚好走到将被删除的结点的上一个结点 然后把慢指针所指结点的next域修改成下下个结点的地址即可 小伙伴们自己画个图就可以明白了 一般我们处理倒数第几个的时候 采用这样的快慢指针最为方便。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。你能尝试使用一趟扫描实现吗?
2025-04-17 10:31:04
187
原创 2.两数相加(链表题)
给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
2025-04-16 10:31:55
358
原创 42.接雨水
用双指针是最好理解的方法 移动头尾指针 维护左右两边柱子的最大值 两个指针向中间遍历 每次遍历比较两边最大值 取较小的一边 用维护的最大值和当前柱子的高度做差 累加加到答案中即可。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。
2025-04-15 10:58:00
170
转载 141.环形链表
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。遍历节点 若哈希表中存在此节点则说明有环 否则将节点加入到哈希表中继续遍历。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。(即,常量)内存解决此问题吗?,判断链表中是否有环。链表中节点的数目范围是。给你一个链表的头节点。
2025-04-14 12:18:05
328
原创 438.找到字符串中所有字母异位词
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。上滑动,检查每个窗口内的字符频率是否与目标字符串。使用固定长度的窗口在字符串。
2025-04-14 11:39:19
346
原创 3.无重复字符的最长子串
建立一个空哈希表 遍历每个字符 如果哈希表中不存在 则将字符作为键 索引作为值 存入表中 若字符出现过 则更新滑动窗口的左指针 更新原则:取当前左指针和该元素上一次出现位置+1 中较大的那一个 这样保证左指针一直右移 而不会出现既右移又左移的情况了 最后返回最大窗口大小 i - left + 1。,请你找出其中不含有重复字符的。请注意,你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。,所以其长度为 3。
2025-04-14 11:03:40
254
原创 11.盛最多水的容器
首尾指针向中间移动 移动规则是:每次向里移动较矮的柱子 若移动较长的柱子 则容积一定变小 因为容积取决于短的那根柱子 最后取最大容积即可。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。
2025-04-14 10:11:27
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1