自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 23. 合并 K 个升序链表 【@我的刷题日记】

难度:困难 日期:2023年6月11日给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。链表数组如下:1->4->5,1->3->4,2->6将它们合并到一个有序链表中得到。

2023-06-11 12:07:24 82

原创 148. 排序链表 【@我的刷题日记】

难度:中等 日期:2023年6月11日给你链表的头结点head,请将其按排列并返回。

2023-06-11 11:57:03 81

原创 138. 复制带随机指针的链表 【@我的刷题日记】

难度:中等 日期:2023年6月10日给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的。深拷贝应该正好由n个节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。。例如,如果原链表中有X和Y两个节点,其中。那么在复制链表中对应的两个节点x和y,同样有。

2023-06-10 21:23:32 74

原创 25. K 个一组翻转链表 【@我的刷题日记】

难度:困难 日期:2023年6月10日给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

2023-06-10 19:22:46 66

原创 24. 两两交换链表中的节点 【@我的刷题日记】

难度:中等 日期:2023年6月10日给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

2023-06-10 12:21:00 31

原创 19. 删除链表的倒数第 N 个结点 【@我的刷题日记】

难度:中等 日期:2023年6月10日给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。

2023-06-10 12:02:23 25

原创 2. 两数相加 【@我的刷题日记】

难度:中等 日期:2023年6月8日给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。[7,0,8][0]

2023-06-08 19:34:25 39

原创 21. 合并两个有序链表 【@我的刷题日记】

难度:简单 日期:2023年6月8日将两个升序链表合并为一个新的链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。[][0]

2023-06-08 18:51:56 49

原创 142. 环形链表 【@我的刷题日记】

难度:中等 日期:2023年6月5日给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(如果pos是-1,则在该链表中没有环。pos,仅仅是为了标识链表的实际情况。链表。返回索引为 1 的链表节点链表中有一个环,其尾部连接到第二个节点。返回索引为 0 的链表节点。

2023-06-05 22:34:24 24

原创 234. 回文链表 【@我的刷题日记】

难度:简单 日期:2023年6月5日给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。示例 1:输入:head = [1,2,2,1]输出:true示例 2:输入:head = [1,2]输出:false。

2023-06-05 21:31:41 29

原创 160. 相交链表 【@我的刷题日记】

难度:简单 日期:2023年6月1日给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构。

2023-06-01 23:18:17 24

原创 240. 搜索二维矩阵 II 【@我的刷题日记】

难度:中等 日期:2023年编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。

2023-06-01 21:59:39 32

原创 54. 螺旋矩阵 【@我的刷题日记】

难度:中等 日期:2023年5月28给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]

2023-05-28 19:41:05 38

原创 73. 矩阵置零 【@我的刷题日记】

难度:中等 日期:2023年5月28日给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0。请使用 原地 算法。示例 1:输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2:输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

2023-05-28 16:56:02 179

原创 41. 缺失的第一个正数 【@我的刷题日记】

难度:困难 日期:2023年5月27日给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。示例 1:输入:nums = [1,2,0]输出:3示例 2:输入:nums = [3,4,-1,1]输出:2示例 3:输入:nums = [7,8,9,11,12]输出:1。

2023-05-27 21:07:58 41

原创 189. 轮转数组 【@我的刷题日记】

难度:中等 时间:2023年5月26日给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

2023-05-26 14:20:05 86

原创 238. 除自身以外数组的乘积 【@我的刷题日记】

难度:中等 日期:2023年5月26日给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请不要使用除法,且在 O(n) 时间复杂度内完成此题。

2023-05-26 11:14:20 30

原创 56. 合并区间 【@我的刷题日记】

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

2023-05-25 17:27:23 31

原创 53. 最大子数组和 【@我的刷题日记】

难度:中等 日期:2023年5月25日给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23。

2023-05-25 11:26:51 37

原创 76. 最小覆盖子串 【@我的刷题日记】

难度:困难 日期:2023年5月16日给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"

2023-05-16 19:20:16 36

原创 239. 滑动窗口最大值 【@我的刷题日记】

难度:困难 日期:2023年5月16日给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值。

2023-05-16 19:08:46 28

原创 560. 和为 K 的子数组 【@我的刷题日记】

难度:中等 日期:2023年5月15日给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数。示例 1:输入:nums = [1,1,1], k = 2输出:2示例 2:输入:nums = [1,2,3], k = 3输出:2。

2023-05-15 14:13:14 24

原创 438. 找到字符串中所有字母异位词 【@我的刷题日记】

难度:中等 日期:2023年5月14日给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。示例 1:输入: s = "cbaebabacd", p = "abc"输出: [0,6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。

2023-05-14 15:06:23 30

原创 42. 接雨水 【@我的刷题日记】

难度:困难 日期:2023年5月14给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9。

2023-05-14 11:30:12 33

原创 15. 三数之和 【@我的刷题日记】

难度:中等 日期:2023年5月10日给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= j、i!= k 且 j!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。

2023-05-10 18:30:55 25

原创 11. 盛最多水的容器 【@我的刷题日记】

难度:中等 时间:2023年5月7日给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

2023-05-08 20:14:39 56

原创 1. 两数之和 【@我的刷题日记】

两数之和

2023-02-09 23:09:27 31

原创 59. 螺旋矩阵 II 【@我的刷题日记】

难度:中等 时间:2022年11月20日难度中等871给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的n x n正方形矩阵matrix。

2022-11-20 18:25:17 136

原创 76.最小覆盖子串【@我的刷题日记】

难度:困难 日期:2022年11月13日给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"示例 2:输入:s = "a", t = "a"

2022-11-13 20:57:00 79

原创 904. 水果成篮 【@我的刷题日记】

难度:中等 日期:2022年11月11日你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类。你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果:你只有 两个 篮子,并且每个篮子只能装 单一类型 的水果。每个篮子能够装的水果总量没有限制。你可以选择任意一棵树开始采摘,你必须从 每棵 树(包括开始采摘的树)上 恰好摘一个水果。

2022-11-11 20:30:05 105

原创 209. 长度最小的子数组 【@我的刷题日记】

难度:中等 日期:2022年10月16日给定一个含有 n 个正整数的数组和一个正整数 target。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。

2022-10-16 19:15:12 75

原创 977. 有序数组的平方 【@我的刷题日记】

难度:简单日期:2022年10月13日给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]

2022-10-14 10:54:57 48

原创 844. 比较含退格的字符串 【@我的刷题日记】

难度:简单 日期:2022.10.2给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true。# 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:s = "ab#c", t = "ad#c"输出:true解释:s 和 t 都会变成 "ac"。示例 2:输入:s = "ab##", t = "c#d#"输出:true解释:s 和 t 都会变成 ""。

2022-10-04 20:58:15 256

原创 283. 移动零 【@我的刷题日记】

难度:简单日期:2022.10.1给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]

2022-10-01 15:33:43 135

原创 26. 删除有序数组中的重复项 【@我的刷题日记】

难度:简单日期:2022.9.30给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k。

2022-09-30 22:44:54 40

原创 27. 移除元素 【@我的刷题日记】

难度:简单给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。

2022-09-30 17:32:10 43

原创 367. 有效的完全平方数 【@我的刷题日记】

367. 有效的完全平方数 【@我的刷题日记】

2022-09-29 22:21:35 127

空空如也

空空如也

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

TA关注的人

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