
力扣HOT100 算法题合集
力扣HOT100 算法题合集
_OLi_
这个作者很懒,什么都没留下…
展开
-
力扣HOT100 - 1. 两数之和
【代码】力扣HOT100 - 两数之和。原创 2024-03-23 10:30:55 · 409 阅读 · 0 评论 -
力扣HOT100 - 49. 字母异位词分组
返回时不能用List,因为List是抽象类,return的必须是List的具体实现,如ArrayList。原创 2024-03-23 11:10:47 · 464 阅读 · 0 评论 -
力扣HOT100 - 128. 最长连续序列
1.Set不能直接排序,必须要转换成ArrayList或者LinkedList后用Collections.sort()方法进行排序。2.连续的序列不能只找第一个,因为不一定是最长的,需要全部遍历完才能找到最长序列。(Queue也不能直接排序,排序方法同Set)原创 2024-03-23 11:59:57 · 377 阅读 · 0 评论 -
力扣HOT100 - 283. 移动零
为零时,nums[ i ]与nums[ j ]交换,使零向后移动。不为零时,自己与自己交换,i 和 j 同时向下一个位置移动。指针 i 用于寻找不为零的位置。指针 j 用于寻找为零的位置。原创 2024-03-24 14:12:23 · 561 阅读 · 0 评论 -
力扣HOT100 - 11. 盛最多水的容器
双指针,从左右两边往内侧夹逼,遍历后得到最大值。原创 2024-03-24 14:44:58 · 352 阅读 · 0 评论 -
力扣HOT100 - 15. 三数之和
在nums[ k ],nums[ i ],nums[ j ]的值与自身重复时均会进行跳过,防止重复添加。防止nums[ k ]重复:if(k>0&&nums[k]==nums[k-1]) continue;防止nums[ i ]重复:while(i<j&&nums[i]==nums[++i]);防止nums[ j ]重复:while(i<j&&nums[j]==nums[--j]);原创 2024-03-24 15:22:14 · 323 阅读 · 0 评论 -
力扣HOT100 - 42. 接雨水
【代码】力扣HOT100 - 42. 接雨水。原创 2024-03-25 17:11:35 · 262 阅读 · 0 评论 -
力扣HOT100 - 3. 无重复字符的最长子串
假设字符串为 “abba”,当遍历到第二个 a 字符时,如果用 start = map.get('a') + 1;那么left将指向第一个 a 的下一个位置(设这个位置为 x ),而实际上left原先在循环到第二个 b 时就已经到了 x 的下一个位置。这样left往回走会导致错误的结果。如果只是left = map.get(ch[i]) + 1;在某些情况下也是正确的,但在一些特殊情况下可能会导致错误的结果。原创 2024-03-25 18:45:10 · 304 阅读 · 0 评论 -
力扣HOT100 - 438. 找到字符串中所有字母异位词
【代码】力扣HOT100 - 438. 找到字符串中所有字母异位词。原创 2024-03-25 21:37:26 · 301 阅读 · 0 评论 -
力扣HOT100 - 560. 和为k的子数组
假设数组的前缀和数组为prefixSum,其中prefixSum[i]表示从数组起始位置到第i个位置的元素之和。那么对于任意的两个下标i和j(i < j),如果prefixSum[j] - prefixSum[i] = k,即从第i个位置到第j个位置的元素之和等于k,那么说明从第i+1个位置到第j个位置的连续子数组的和为k。在遍历的过程中,我们检查是否存在prefixSum[j] - k的前缀和,如果存在,说明从某个位置到当前位置的连续子数组的和为k,我们将对应的次数累加到结果中。原创 2024-04-09 13:39:52 · 375 阅读 · 0 评论 -
力扣HOT100 - 239. 滑动窗口最大值
【代码】力扣HOT100 - 239. 滑动窗口最大值。原创 2024-04-09 13:59:09 · 358 阅读 · 0 评论 -
力扣HOT100 - 76. 最小覆盖子串
【代码】力扣HOT100 - 76. 最小覆盖子串。原创 2024-04-09 14:53:32 · 382 阅读 · 0 评论 -
力扣HOT100 - 53. 最大子数组和
【代码】力扣HOT100 - 53. 最大子数组和。原创 2024-04-10 18:01:47 · 202 阅读 · 0 评论 -
力扣HOT100 - 56. 合并区间
【代码】力扣HOT100 - 56. 合并区间。原创 2024-04-10 19:03:27 · 328 阅读 · 0 评论 -
力扣HOT100 - 189. 轮转数组
先反转一次,再根据 k 拆分成两部分各反转一次。原创 2024-04-10 19:51:25 · 344 阅读 · 0 评论 -
力扣HOT100 - 238. 除自身以外数组的乘积
当前位置的结果就是它左部分的乘积再乘以它右部分的乘积。因此需要进行两次遍历,第一次遍历用于求左部分的乘积,第二次遍历在求右部分的乘积的同时,再将最后的计算结果一起求出来。原创 2024-04-10 20:32:46 · 396 阅读 · 0 评论 -
力扣HOT100 - 41. 缺失的第一个正数
而那些没有回到家里的就成了孤魂野鬼流浪在外,他们要么是根本就没有自己的家(数字小于等于0或者大于nums.size()),要么是自己的家被别人占领了(出现了重复)。就相当于,让每个数字n都回到下标为n-1的家里。原创 2024-04-11 09:04:57 · 423 阅读 · 0 评论 -
力扣HOT100 - 73. 矩阵置零
在原地算法中,输入数据通常在内存中直接被修改,而不需要额外的辅助数据结构来存储中间结果。原地算法的一个常见应用是在数组或列表上进行操作,而不是创建新的数组或列表来存储结果。题目要求使用原地算法。原创 2024-04-11 09:40:51 · 413 阅读 · 0 评论 -
力扣HOT100 - 54. 螺旋矩阵
【代码】力扣HOT100 - 54. 螺旋矩阵。原创 2024-04-11 10:07:29 · 492 阅读 · 0 评论 -
力扣HOT100 - 48. 旋转图像
可以先上下翻转,再沿主对角线反转(左上到右下的对角线)原创 2024-04-11 11:05:23 · 405 阅读 · 0 评论 -
力扣HOT100 - 240. 搜索二维矩阵 II
从左下角开始,根据条件删除行和列。原创 2024-04-11 11:28:27 · 445 阅读 · 0 评论 -
力扣HOT100 - 160. 相交链表
【代码】力扣HOT100 - 160. 相交链表。原创 2024-04-11 11:52:29 · 403 阅读 · 0 评论 -
力扣HOT100 - 206. 反转链表
【代码】力扣HOT100 - 206. 反转链表。原创 2024-04-17 22:27:13 · 440 阅读 · 0 评论 -
力扣HOT100 - 234. 回文链表
【代码】力扣HOT100 - 234. 回文链表。原创 2024-04-17 22:36:54 · 476 阅读 · 1 评论 -
力扣HOT100 - 141. 环形链表
【代码】力扣HOT100 - 141. 环形链表。原创 2024-04-19 09:20:32 · 329 阅读 · 0 评论 -
力扣HOT100 - 142. 环形链表 II
【代码】力扣HOT100 - 142. 环形链表 II。原创 2024-04-19 09:28:07 · 316 阅读 · 0 评论 -
力扣HOT100 - 21. 合并两个有序链表
【代码】力扣HOT100 - 21. 合并两个有序链表。原创 2024-05-21 17:40:27 · 551 阅读 · 0 评论 -
力扣HOT100 - 2. 两数相加
缺位的节点进行补零处理,如973+23补充为973+023。原创 2024-04-21 10:42:01 · 335 阅读 · 0 评论 -
力扣HOT100 - 19. 删除链表的倒数第N个节点
链表题目:哑节点、栈、快慢指针(双指针)注意fast从head开始,而不是dum。方法三:快慢指针(双指针)方法一:计算链表长度。原创 2024-04-21 11:16:01 · 291 阅读 · 0 评论 -
力扣HOT100 - 24. 两两交换链表中的节点
【代码】力扣HOT100 - 24. 两两交换链表中的节点。原创 2024-04-21 11:31:07 · 338 阅读 · 0 评论 -
力扣HOT100 - 25. K 个一组翻转链表
【代码】力扣HOT100 - 25. K 个一组翻转链表。原创 2024-04-21 11:50:42 · 264 阅读 · 0 评论 -
力扣HOT100 - 138. 随机链表的复制
前者的p为一个指向head对象的引用,换句话说,p和head 指向同一个对象,它们共享相同的引用,后者则创建一个全新的Node节点,p与head的val值相同。与Node p=new Node(head.val);原创 2024-05-21 17:31:10 · 866 阅读 · 0 评论 -
力扣HOT100 - 148. 排序链表
【代码】力扣HOT100 - 148. 排序链表。原创 2024-04-21 16:24:03 · 336 阅读 · 0 评论 -
力扣HOT100 - 23. 合并K个升序链表
只要会合并两个升序链表,合并K个做法类似。原创 2024-04-21 16:46:00 · 297 阅读 · 0 评论 -
力扣HOT100 - 146. LRU缓存
哈希表 + 双向链表。原创 2024-04-22 21:37:35 · 549 阅读 · 0 评论 -
力扣HOT100 - 94. 二叉树的中序遍历
【代码】力扣HOT100 - 94. 二叉树的中序遍历。原创 2024-04-22 21:44:29 · 328 阅读 · 0 评论 -
力扣HOT100 - 104. 二叉树的最大深度
【代码】力扣HOT100 - 104. 二叉树的最大深度。原创 2024-04-22 21:52:55 · 352 阅读 · 0 评论 -
力扣HOT100 - 226. 翻转二叉树
【代码】力扣HOT100 - 226. 翻转二叉树。原创 2024-04-22 21:58:10 · 729 阅读 · 0 评论 -
力扣HOT100 - 101. 对称二叉树
【代码】力扣HOT100 - 101. 对称二叉树。原创 2024-04-22 22:08:26 · 373 阅读 · 0 评论 -
力扣HOT100 - 543. 二叉树的直径
【代码】力扣HOT100 - 543. 二叉树的直径。原创 2024-04-23 14:26:21 · 380 阅读 · 0 评论