
力扣
文章平均质量分 72
SharkWeek.
Make your hands dirty.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【力扣Hot 100】堆
给定整数数组nums和整数k,请返回数组中第 k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。非常经典的堆问题,在AcWing里学过类似的。直接套用就可以了。int。原创 2025-02-21 15:29:29 · 638 阅读 · 0 评论 -
【力扣Hot 100】贪心算法
给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。实际上是求最大值和最小值的差,并且要求最小值在最大值左边。所以可以用一个数来存当前的左边的最小值mi,然后枚举每一个数,如果比最小值小就更新最小值,并更新ans = max(ans, prices[i] - mi)原创 2025-02-21 15:28:45 · 607 阅读 · 0 评论 -
【力扣Hot 100】栈2
所以可以建两个栈,一个存左边第一个比自己小的数,一个存右边第一个比自己小的数。个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。对于每一个柱状图,我们要求它的高度向左最远能到哪里,向右最远能到哪里。如果一个数没出栈,说明它的右边没有比它小的数,它的右边界是n。当一个数出栈时,它是第一次遇到比它小的数,也就是它的右边界。也就是找左边第一个比它小的数,以及右边第一个比它小的数。找一系列数中第一个比自己小/大的数→单调栈问题。求在该柱状图中,能够勾勒出来的矩形的最大面积。原创 2025-02-20 17:09:42 · 247 阅读 · 0 评论 -
【力扣Hot 100】栈
给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。**输入:**s = “()”**输出:**true**输入:**s = “()[]{}”**输出:**true**输入:**s = “(]”**输出:**false**输入:**s = “([])”**输出:**true'()[]{}'原创 2025-02-19 14:21:32 · 619 阅读 · 0 评论 -
【力扣Hot 100】二分查找
给你一个按照非递减顺序排列的整数数组。原创 2025-02-18 10:39:15 · 1122 阅读 · 0 评论 -
【力扣Hot 100】回溯2
数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且括号组合。原创 2025-02-18 10:37:42 · 518 阅读 · 0 评论 -
【力扣Hot 100】回溯1
给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以返回答案。原创 2025-02-17 17:00:45 · 475 阅读 · 0 评论 -
【力扣Hot 100】链表4
给你一个链表,删除链表的倒数第n**个结点,并且返回链表的头结点。!**进阶:**你能尝试使用一趟扫描实现吗?一个快指针,一个慢指针,快指针比慢指针提前 N 步,两个都每次走一格,当快指针指向 nullptr 的时候,慢指针刚好指向要删除的结点。为了更好的删除要删除的结点,慢指针从 head 前面一个指针开始。原创 2025-02-17 16:59:48 · 391 阅读 · 0 评论 -
【力扣Hot 100】链表3
给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(如果pos是-1,则在该链表中没有环。pos,仅仅是为了标识链表的实际情况。链表。!!![0, 104]1**进阶:**你是否可以使用O(1)空间解决此题?原创 2025-01-26 17:08:06 · 513 阅读 · 0 评论 -
【力扣Hot 100】链表2
给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。![1, 105]**进阶:**你能否用O(n)时间复杂度和O(1)空间复杂度解决此题?思想是:把链表后半部分反转,再逐个比较前后链表是否相等。原创 2025-01-26 17:07:23 · 506 阅读 · 0 评论 -
【力扣Hot 100】矩阵2
旋转图像:观察旋转前后矩阵,发现点 i, j的变化规律,即每4个点会一同交换位置。遍历起始点。搜索二维矩阵:按行二分法。原创 2025-01-25 14:51:48 · 1520 阅读 · 0 评论 -
【力扣Hot 100】矩阵1
矩阵置零:1. 开两个数组判断该行/该列是否有0;2. 用第0行/第0列分别判断该列/该行是否有0螺旋矩阵:记录方向,一直按某方向前进,遇到障碍方向就变一下。原创 2025-01-24 21:16:56 · 680 阅读 · 0 评论 -
【力扣Hot 100】普通数组2
给定一个整数数组nums,将数组中的元素向右轮转k**个位置,其中k**是非负数。使用反转数组的方法。看图就能理解了。反转数组可以定义两个指针bg, ed,一个指向数组开始,一个指向数组末尾,交换它们直到重合或相交。原创 2025-01-24 21:15:46 · 437 阅读 · 0 评论 -
【力扣Hot 100】子串
即,要求以i结尾的区间和为K的子串的个数,我们可以转化为求前缀和为pre[i] - K的个数。,请你统计并返回 *该数组中和为。子数组是数组中元素的连续非空序列。原创 2025-01-16 18:16:50 · 262 阅读 · 0 评论 -
【力扣Hot100】滑动窗口
当 j 进入窗口时,判断区间 i, j 之间,是否有 s[j] 存在,如果有,那么 i 应该 ++,直到区间 i , j 之间没有s[j]存在。这样就能确保i, j 之间的字符是不重复的。用长度为26的vector来存储字符串中的字母个数,如果它们是异位词,那么vector应该是相等的。维护i, j 中间的区间是要比较的单词,i, j 区间大小是固定的,因此可以用一个变量来表示。两个指针 i, j,均从前往后遍历,维护 i, j 之间的字符是不重复的。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。原创 2025-01-15 14:31:15 · 361 阅读 · 0 评论 -
【力扣Hot100】双指针
全部来自力扣hot 100移动零:两个指针一前一后,一起从前往后遍历盛水最多的容器:两个指针一个从前往后,一个从后往前三数之和:两个指针一个从前往后,一个从后往前。双指针问题思考步骤要从简单的双重循环开始优化,找规律,看到了某一步骤是不是就能省略后面的步骤。可以从:两个一起从前往后,一个从前往后、一个从后往前,两种情况来考虑是否可以优化。当然我是想不出来的>.原创 2025-01-15 10:14:14 · 1043 阅读 · 0 评论 -
【力扣Hot100】哈希表
来自leetcode Hot100原创 2025-01-09 20:28:55 · 533 阅读 · 0 评论