自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 问答 (9)
  • 收藏
  • 关注

原创 leetcode131

start是每个list<integer>里第一刀的位置。

2026-01-08 15:52:58 79

原创 leetcode17 电话号码的字母组合

用stringbuilder写的版本。

2026-01-08 10:43:55 71

原创 leetcode34 在排序数组中查找元素的第一个和最后一个位置

标准答案,O(logN),明天学一下,今天困了。下面是我写的O(n)的。

2025-11-27 23:35:48 497

原创 leetcode74 搜索二维矩阵(A 122/132,差一点)

第 0 行里找不到 3,返回。这意味着循环结束时,(3 在第 1 行)。

2025-11-27 17:51:11 118

原创 leetcode416 分割等和子集(01背包动态规划,需要重新做)

【代码】leetcode416 分割等和子集(01背包动态规划,需要重新做)

2025-11-27 16:31:27 316

原创 leetcode152 乘积最大子数组(A一半)

要考虑到负负得正,所以要开两个dp来存储。

2025-11-26 16:12:26 231

原创 leetcode300 最长递增子序列

关键在于知道dp[i]为以nums[i]为结尾的最长递增子序列,然后动归的时候固定i不动,对比前面的数字,如果满足递增,那就把i拼上去,看看长度。

2025-11-26 15:10:45 76

原创 leetcode139 单词拆分(看了答案自己写的)

拆成前半段可以拆分,后半段在字典中出现,dp[i]的意思是前i个字母能否被拆分。切成几段,每一段都在字典里。):这一段是不是字典里的单词?):这一段能不能拆分?我们需要枚举一个切分点。

2025-11-26 00:11:58 184

原创 leetcode279 完全平方数(开始没思路,看了之后会了)

要注意范围判断,两个等号。

2025-11-25 22:48:21 297

原创 leetcode198 打家劫舍(AC)

关键是找到状态方程dp[i] = Math.max(dp[i-1],dp[i-2]+nums[i])自己做出来的,值得表扬。

2025-11-25 21:29:27 287

原创 leetcode118 杨辉三角

借着这个题来复习一下,arraylist.get()可以取出数组对应位置的值。多个数组要记得用List<List<Integer>>

2025-11-25 21:10:02 78

原创 leetcode287 寻找重复数(复杂度低,快慢指针)

用数组写的,通过了但是空间复杂度不达标,看一下标准答案:从到的距离(这是我们想求的)。:从到的距离(乌龟跑进圈里走的那段)。:从继续往前走,回到的距离(圈里剩下的那段)。:环的总长度 =。

2025-11-23 20:15:44 327

原创 leetcode31 下一个排列(没做出来)

这是一道非常经典的题,它考验的不是什么复杂的数据结构,而是对规律的观察。

2025-11-23 19:42:50 292

原创 leetcode 75 颜色分类

【代码】leetcode 75 颜色分类。

2025-11-23 19:14:57 86

原创 leetcode 169 多数元素

【代码】leetcode 169 多数元素。

2025-11-23 18:10:05 99

原创 leetcode 136 只出现一次的数字

【代码】leetcode 136 只出现一次的数字。

2025-11-23 17:31:41 91

原创 leetcode347 前K个高频元素

因为是小顶堆,堆顶永远是“目前前 k 个里频率最低的”。把最小的踢走,剩下的自然就是频率最高的 k 个。如果堆的大小超过了 k,则将堆顶元素(当前堆中频率最小的那个)弹出。:最后堆中留下的 k 个元素就是答案。入堆是offer,出堆是poll。) 统计每个数字出现的次数。:建立一个大小为 k 的。遍历哈希表中的元素。

2025-11-22 22:53:55 208

原创 jvm八股

堆是线程共享的区域,用来保存所有通过new关键字创建的对象实例和数组。

2025-11-19 20:54:01 1178

原创 leetcode 215 数组中的第K个最大元素

好的,鉴于今天心情好,来学习一下正确答案。(今天10月28号,30号考dataMining,但是不想复习)但是可惜,要求时间复杂度为O(n),如果强行用的话,恐怕要加入人才库。这道题看见之后第一反应直接秒。

2025-10-28 19:28:13 219

原创 leetcode 739 每日温度

这是个单调栈问题,stack来存储右侧温度,要注意栈顶为最小,由上往下递增,如果有>=栈顶的入栈(因为==栈顶的入栈会让最大位置左移,所以也要包含进去,需要逐个弹出。

2025-10-28 15:05:17 162

原创 leetcode 394 字符串解码(看了没实现)

这道题gemini用的是两个栈来解决,一个存储数字,一个存储字母。这题不会,学习一下。

2025-10-27 22:52:57 125

原创 leetcode155 最小栈

这是一个 Java 开发者面试中非常常见的问题,也是新手很容易犯的错误。比较对象的内容是否相等,永远使用.equals()方法。

2025-10-27 19:11:39 296

原创 leetcode20 有效的括号

这道题虽然是简单题,但是我照着答案写还是错了两次,这是为什么呢?或者一开始检验s长度是否为偶数。

2025-10-26 20:23:01 197

原创 两小时速通Python

2025/10/14 写于智华馆。

2025-10-14 23:43:02 279

原创 英文文章降ai指令

例如: “This review will center on this key domain.” (本综述将围绕这一关键领域) → “...the rest of this review would focus on this hot topic.” (本文的其余部分将聚焦于这个热门话题)。可以大胆使用 “If... then...” (如果...那么...) 或者 “The good thing is..., but the downside is...” (好处是...但缺点是...) 这样的结构。

2025-10-11 18:46:34 316

原创 leetcode2两数相加

这题要注意在while循环里判断l1和l2当前是否为空,因为他们长度可能不一样。移动l1和l2也要判断,因为null没有next。

2025-09-25 19:47:00 195

原创 leetcode24 两两交换链表中的节点

这个题很明显需要一个pre和两个交换节点,这三个节点如果在一开始就创建出来的话,后面移动节点会出现问题,因为前后位置交换了。所以我们只创建pre节点,在每次循环的时候来创建后两个交换节点,然后移动pre节点。再次强调,node1和node2是在循环里根据pre来生成,每次循环只移动pre节点。

2025-09-24 23:49:56 130

原创 leetcode19删除链表的倒数第N个节点

双指针,这三个字提示就足够了。注意最后是pre.next=pre.next.next而不是pre.next=tail。tail用来探测末尾,删除节点全靠pre。

2025-09-22 18:06:36 209 1

原创 leetcode2 两数相加(没做出来)

现在是25年9月21日晚上11点25,状态有些不好了,脑子停转,写不出东西来。要注意节点为null的时候去val会报错,所以要写成三元运算符形式。循环停止需要l1 l2都是空,且进位也是0的时候。

2025-09-21 23:29:09 195

原创 leetcode21合并两个有序链表

没啥好说的,经典屎山代码。注意双指针都要移动,返回值要是头节点,要记得提前存好head。

2025-09-21 21:19:23 85

原创 leetcode142环形链表II

没啥好说的,还是用set,返回node而已。

2025-09-21 19:26:08 134

原创 leetcode141环形链表

要注意set的添加是add,set判断有没有是contains。只需要存储ListNode,不需要存键值对,选set。map添加是put,两者的删除都是remove。只需要存,不需要排序,选hashset。

2025-09-20 20:37:20 196

原创 leetcode234回文链表

再遍历一遍原链表,同时与栈顶做比较(pop出栈相当于反转了链表),如果有不相等的返回false。这道题一眼用栈,可惜我对栈的知识早就忘了,正好复习一下。先遍历一遍原链表,加入栈中。

2025-09-20 19:33:18 168

原创 leetcode206反转链表

本题需要三个指针,null、head和head.next,但是第三个指针创建前需要判断第二个节点是否为空,因为如果第二个节点已经是null了,那null.next会报错。最后return要注意return的prev,因为那个时候pcur已经是null了。

2025-09-19 23:51:22 176

原创 leetcode160 相交链表

显然,这两条路径的长度是完全相同的。如果存在相交节点,那么它们必定会在这个节点相遇。可以看到,它们走的总步数相等,最终会同时到达相交节点。这道题做过好几次,但是每次都忘记,希望这是最后一次。步),它会转向 B 的头部。步),它会转向 A 的头部。它们会同时走完各自的路程,并且最终都指向。: 假设链表 A 在相交点前的长度为。开始,遍历完链表 A 后,接着从。开始,遍历完链表 B 后,接着从。走完 A 再走完 B,总路程是。走完 B 再走完 A,总路程是。,链表 B 在相交点前的长度为。

2025-09-19 23:14:21 220

原创 leetcode 240 搜索二维矩阵II

这道题一看就知道要从矩阵的四个角入手,但是我们可以发现,左上和右下两个角的两个相邻格子的变化趋势是一样的,不好用。我们来看右上和左下两个角,发现相邻格子的变化趋势是一个大于本格子,一个小于本格子,所以我们选择从右上来入手,类似二分查找。

2025-09-19 20:42:15 128

原创 leetcode 48 旋转图像

刚做完上一道顺时针输出数组,思维被禁锢住了。:将矩阵的行和列进行互换。:将转置后的矩阵的每一行进行反转。完成这两步后,图像就实现了顺时针 90 度的旋转。

2025-09-18 19:26:16 281

原创 leetcode 54 螺旋矩阵

这道题用模拟做,非常直观,但是要注意题目给的是m✖️n的矩阵,并非一定是正方形。可以只是一行或一列,所以在top和right移动之后(++),要检查是否top<=bottom,如果不检查会导致只有一行的情况下重复输出两次。

2025-09-17 18:26:31 174

原创 java集合

这种安全,并不是因为。

2025-09-17 16:57:00 944

原创 leetcode73 矩阵置零

上面是自己仿照的,要注意x和y的区分,混了五六次。下面是gemini版本。

2025-09-11 10:40:11 247

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除