leetcode
文章平均质量分 50
matianlongg
这个作者很懒,什么都没留下…
展开
-
leetcode 65. 有效数字 66. 寻找两个正序数组的中位数
leetcode 65. 有效数字 66. 寻找两个正序数组的中位数65. 有效数字难度困难295有效数字(按顺序)可以分成以下几个部分:一个 小数 或者 整数(可选)一个 'e' 或 'E' ,后面跟着一个 整数小数(按顺序)可以分成以下几个部分:(可选)一个符号字符('+' 或 '-')下述格式之一:至少一位数字,后面跟着一个点 '.'至少一位数字,后面跟着一个点 '.' ,后面再跟着至少一位数字一个点 '.' ,后面跟着至少一位数字整数(按顺序)可以分成以下几个原创 2022-01-21 11:30:57 · 132 阅读 · 0 评论 -
leetcode 63. 不同路径 II 64. 寻找两个正序数组的中位数
leetcode 63. 不同路径 II 64. 寻找两个正序数组的中位数63. 不同路径 II难度中等710一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例 1:输入:obstacleGrid = [[0,0,0],[0,1,0原创 2022-01-21 11:30:26 · 85 阅读 · 0 评论 -
leetcode 61. 旋转链表 62. 不同路径
leetcode 61. 旋转链表 62. 不同路径61.旋转链表难度中等681收藏分享切换为英文接收动态反馈给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]示例 2:输入:head = [0,1,2], k = 4输出:[2,0,1]提示:链表中节点的数目在范围 [0, 500] 内-100 <= Node.val <= 1000 &原创 2021-12-14 17:17:25 · 96 阅读 · 0 评论 -
leetcode 59. 插入区间 60. 排列序列
leetcode 59. 插入区间 60. 排列序列59. 螺旋矩阵 II难度中等541收藏分享切换为英文接收动态反馈给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]提示:1 <= n <= 20通过次数140,965提交次数179,683# -*- co原创 2021-12-12 10:00:00 · 189 阅读 · 0 评论 -
leetcode 57. 插入区间 58. 最后一个单词的长度
leetcode 57. 插入区间 58. 最后一个单词的长度57. 插入区间难度中等512收藏分享切换为英文接收动态反馈给你一个 无重叠的 *,*按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例 2:输入:intervals = [[1,2],[3,5],[6,7原创 2021-12-10 10:00:00 · 407 阅读 · 0 评论 -
leetcode 55. 跳跃游戏 56. 合并区间
leetcode 55. 跳跃游戏 56. 合并区间55. 跳跃游戏难度中等1525收藏分享切换为英文接收动态反馈给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:f原创 2021-12-09 10:00:00 · 134 阅读 · 0 评论 -
leetcode 53. 最大子数组和 54. 螺旋矩阵
leetcode 53. 最大子数组和 54. 螺旋矩阵53. 最大子数组和难度简单4073收藏分享切换为英文接收动态反馈给你一个整数数组 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原创 2021-12-08 22:30:00 · 200 阅读 · 0 评论 -
leetcode 51. N 皇后 52. N皇后 II
leetcode 51. N 皇后 52. N皇后 II51. N 皇后难度困难1087收藏分享切换为英文接收动态反馈n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q."原创 2021-11-20 10:00:00 · 130 阅读 · 0 评论 -
leetcode 47. 全排列 II 48. 组合总和 II
leetcode 47. 全排列 II 48. 组合总和 II47. 全排列 II难度中等865收藏分享切换为英文接收动态反馈给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1 <=原创 2021-11-17 22:00:00 · 84 阅读 · 0 评论 -
leetcode 45. 跳跃游戏 II 46. 全排列
leetcode 45. 跳跃游戏 II 46. 全排列45. 跳跃游戏 II难度中等1273收藏分享切换为英文接收动态反馈给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1原创 2021-11-17 17:14:21 · 26322 阅读 · 0 评论 -
leetcode 43. 字符串相乘 44. 通配符匹配
leetcode 43. 字符串相乘 44. 通配符匹配43. 字符串相乘难度中等761收藏分享切换为英文接收动态反馈给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num原创 2021-11-17 17:13:51 · 123 阅读 · 0 评论 -
leetcode 41. 缺失的第一个正数 42. 组合总和 II
leetcode 41. 缺失的第一个正数 42. 组合总和 II41. 缺失的第一个正数难度困难1258收藏分享切换为英文接收动态反馈给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。示例 1:输入:nums = [1,2,0]输出:3示例 2:输入:nums = [3,4,-1,1]输出:2示例 3:输入:nums = [7,8,9,11,12]输出:1提示:1 <=原创 2021-11-17 17:13:25 · 72 阅读 · 0 评论 -
leetcode 39. 组合总和 40. 组合总和 II
leetcode 39. 组合总和 40. 组合总和 II组合总和给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。对于给定的输入,保证和为 target 的唯一组合数少于 150 个。示例 1:输入: candidates = [2,3,6,7], target = 7原创 2021-10-11 16:52:38 · 83 阅读 · 0 评论 -
leetcode 37. 搜索插入位置 38. 有效的数独
leetcode 37. 搜索插入位置 38. 有效的数独37. 解数独难度困难945收藏分享切换为英文接收动态反馈编写一个程序,通过填充空格来解决数独问题。数独的解法需 遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 '.' 表示。示例:输入:board = [["5","3",".",".","7",".",".",".",原创 2021-09-13 17:07:20 · 91 阅读 · 0 评论 -
leetcode 35. 搜索插入位置 36. 有效的数独
leetcode 35. 搜索插入位置 36. 有效的数独35. 搜索插入位置难度简单1066收藏分享切换为英文接收动态反馈给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nu原创 2021-09-13 17:06:46 · 135 阅读 · 0 评论 -
leetcode 33. 搜索旋转排序数组 34. 在排序数组中查找元素的第一个和最后一个位置
leetcode 33. 搜索旋转排序数组 34. 在排序数组中查找元素的第一个和最后一个位置33. 搜索旋转排序数组难度中等1518收藏分享切换为英文接收动态反馈整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标原创 2021-08-18 18:12:15 · 147 阅读 · 0 评论 -
leetcode 31 下一个排列 32 最长有效括号
leetcode 31 下一个排列 32 最长有效括号31. 下一个排列难度中等1231收藏分享切换为英文接收动态反馈实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须** 原地 **修改,只允许使用额外常数空间。示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums原创 2021-07-21 15:58:45 · 62 阅读 · 0 评论 -
leetcode 29 两数相除 30 串联所有单位的子串
leetcode 29 两数相除 30 串联所有单位的子串给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例 1:输入: dividend = 10, divisor = 3输出: 3解释: 10/3 = tr原创 2021-06-30 09:25:35 · 74 阅读 · 0 评论 -
leetcode 27 移除元素 28 实现 strStr()
leetcode 27 移除元素 28 实现 strStr()27. 移除元素难度简单944收藏分享切换为英文接收动态反馈给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里原创 2021-06-16 18:15:15 · 61 阅读 · 0 评论 -
leetcode 25 K 个一组翻转链表 26 删除有序数组中的重复项
leetcode 25 K 个一组翻转链表 26 删除有序数组中的重复项25. K 个一组翻转链表难度困难1123收藏分享切换为英文接收动态反馈给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。进阶:你可以设计一个只使用常数额外空间的算法来解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例 1:输入:head = [1,2,3原创 2021-06-02 18:14:48 · 71 阅读 · 0 评论 -
leetcode 23 合并K个升序链表 24 两两交换链表中的节点
leetcode 23 合并K个升序链表 24 两两交换链表中的节点23. 合并K个升序链表难度困难1327收藏分享切换为英文接收动态反馈给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表原创 2021-06-02 18:14:10 · 65 阅读 · 0 评论 -
leetcode 21 合并两个有序链表 22 括号生成
leetcode 21 合并两个有序链表 22 括号生成21. 合并两个有序链表难度简单1728收藏分享切换为英文接收动态反馈将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是原创 2021-05-28 17:48:35 · 80 阅读 · 0 评论 -
leetcode 19 删除链表的倒数第 N 个结点 20 有效的括号
leetcode 19 删除链表的倒数第 N 个结点 20 有效的括号19. 删除链表的倒数第 N 个结点难度中等1385收藏分享切换为英文接收动态反馈给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。**进阶:**你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]原创 2021-05-28 17:48:05 · 68 阅读 · 0 评论 -
leetcode 17 电话号码的字母组合 18 四数之和
leetcode 17 电话号码的字母组合 18 四数之和17. 电话号码的字母组合难度中等1332收藏分享切换为英文接收动态反馈给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示原创 2021-05-28 17:47:36 · 82 阅读 · 0 评论 -
leetcode 15 三数之和 16 最接近的三数之和
leetcode 15 三数之和 16 最接近的三数之和15. 三数之和难度中等3358收藏分享切换为英文接收动态反馈给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。**注意:**答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]原创 2021-05-21 16:31:48 · 96 阅读 · 0 评论 -
leetcode 13 罗马数字转整数 14 最长公共前缀
leetcode 13 罗马数字转整数 14 最长公共前缀13. 罗马数字转整数难度简单1367收藏分享切换为英文接收动态反馈罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即原创 2021-05-21 14:55:53 · 115 阅读 · 0 评论 -
leetcode 11 盛最多水的容器 12 整数转罗马数字
leetcode 11 盛最多水的容器 12 整数转罗马数字11. 盛最多水的容器难度中等2472收藏分享切换为英文接收动态反馈给你 n 个非负整数 a1,a2,...,a``n,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**说明:**你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直原创 2021-05-21 14:36:00 · 83 阅读 · 0 评论 -
leetcode 9 回文数 10 正则表达式匹配
leetcode 9 回文数 10 正则表达式匹配9. 回文数难度简单1505收藏分享切换为英文接收动态反馈给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。原创 2021-05-17 16:00:23 · 178 阅读 · 0 评论 -
leetcode 7 整数反转 8 字符串转换整数 (atoi)
leetcode 7 整数反转 8 字符串转换整数 (atoi)7. 整数反转难度简单2807收藏分享切换为英文接收动态反馈给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21原创 2021-05-17 15:59:53 · 126 阅读 · 0 评论 -
leetcode 5. 最长回文子串 6. Z 字形变换
leetcode 5. 最长回文子串 6. Z 字形变换5. 最长回文子串难度中等3632收藏分享切换为英文接收动态反馈给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"提示:1 <= s.length <= 1000s原创 2021-05-12 16:57:10 · 115 阅读 · 0 评论 -
leetcode 3. 无重复字符的最长子串 4. 寻找两个正序数组的中位数
leetcode 3. 无重复字符的最长子串 4. 寻找两个正序数组的中位数3. 无重复字符的最长子串难度中等5435收藏分享切换为英文接收动态反馈给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pw原创 2021-05-11 16:31:06 · 88 阅读 · 0 评论 -
leetcode 1. 两数之和 2. 两数相加
leetcode 1. 两数之和 2. 两数相加1. 两数之和难度简单11013收藏分享切换为英文接收动态反馈给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] ==原创 2021-05-11 14:37:03 · 118 阅读 · 0 评论