
刷题
在 Leetcode 等平台上刷题的分享。
CDFMLR
Could Devils Find My Lovely Rabbit?
展开
-
Leetcode 课程表 I、II、III
Leetcode 课程表 I、II、III这篇文章介绍 Leetcode 的课程表 I、II、III 三道题目的解法。文章目录Leetcode 课程表 I、II、III[207. 课程表](https://leetcode-cn.com/problems/course-schedule/)题目DFS[210. 课程表 II](https://leetcode-cn.com/problems/course-schedule-ii/)题目拓扑排序[630. 课程表 III](https://leetcode原创 2020-05-13 11:15:22 · 523 阅读 · 0 评论 -
Leetcode 236. 二叉树的最近公共祖先
leetcode 236. 二叉树的最近公共祖先题目给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4...原创 2020-04-28 14:50:11 · 421 阅读 · 0 评论 -
Leetcode 104. 二叉树的最大深度
Leetcode 104. 二叉树的最大深度题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。来源:力扣(LeetCode)链接:...原创 2020-04-28 14:47:53 · 212 阅读 · 0 评论 -
从「Leetcode 100. 相同的树」出发讨论为什么用「并发」
从「Leetcode 100. 相同的树」出发讨论为什么用「并发」题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]...原创 2020-04-22 23:32:35 · 323 阅读 · 0 评论 -
Leetcode 101. 对称二叉树
Leetcode 101. 对称二叉树题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可...原创 2020-04-21 20:18:00 · 217 阅读 · 0 评论 -
Leetcode 100. 相同的树
Leetcode 100. 相同的树题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 ...原创 2020-04-21 15:45:06 · 206 阅读 · 0 评论 -
Leetcode 78. 子集
Leetcode 78. 子集题目给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]来源:力扣(LeetCode)链接:https://lee...原创 2020-04-14 09:42:04 · 184 阅读 · 0 评论 -
Leetcode 136. 只出现一次的数字
Leetcode 136. 只出现一次的数字题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4来源:力扣(LeetCode)链接:https://leet...原创 2020-04-08 22:14:43 · 202 阅读 · 0 评论 -
Leetcode 3. 无重复字符的最长子串
Leetcode 3. 无重复字符的最长子串题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出...原创 2020-04-07 08:18:09 · 124 阅读 · 0 评论 -
Leetcode 14. 最长公共前缀
Leetcode 14. 最长公共前缀题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。来源:力扣(...原创 2020-03-31 09:44:16 · 284 阅读 · 0 评论 -
Leetcode 641. 设计循环双端队列
Leetcode 641. 设计循环双端队列题目设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true。insertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。deleteFront():从双端队列头部删除一个元...原创 2020-03-26 15:35:33 · 158 阅读 · 0 评论 -
Leetcode 239. 滑动窗口最大值
Leetcode 239. 滑动窗口最大值题目给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] ...原创 2020-03-26 15:34:25 · 119 阅读 · 0 评论 -
Leetcode P20 有效的括号
Leetcode 20. 有效的括号// 上周的作业忘写了,还好这题目以前就写给,赶紧补一下博客。。。[狗头]给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:...原创 2020-03-24 08:16:33 · 135 阅读 · 0 评论 -
Leetcode P150 逆波兰表达式求值
Leetcode P150 逆波兰表达式求值题目根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: ["2", "1", "+", "3", "*"]输出: 9解释:...原创 2020-03-19 22:11:23 · 198 阅读 · 0 评论 -
Leetcode P155 最小栈
Leetcode P155 最小栈题目设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);...原创 2020-03-19 09:21:36 · 167 阅读 · 0 评论 -
Leetcode P141 环形链表
Leetcode P141 环形链表题目给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1...原创 2020-03-13 09:12:26 · 173 阅读 · 0 评论 -
Leetcode P83 删除排序链表中的重复元素
Leetcode P83 删除排序链表中的重复元素题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob...原创 2020-03-11 17:13:48 · 124 阅读 · 0 评论 -
Leetcode P21 合并两个有序链表
Leetcode P21 合并两个有序链表题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merg...原创 2020-03-10 20:37:06 · 211 阅读 · 0 评论 -
Leetcode P122 买卖股票的最佳时机 II
Leetcode P122 买卖股票的最佳时机 II题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,...原创 2020-03-09 08:58:33 · 217 阅读 · 0 评论 -
Leetcode P121 买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。原创 2020-02-27 09:21:50 · 165 阅读 · 0 评论 -
Leetcode P88 合并两个有序数组
Leetcode P88 合并两个有序数组题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,...原创 2020-02-26 23:09:23 · 249 阅读 · 0 评论 -
Leetcode P53 最大子序和
Leetcode P53 最大子序和题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。来源:力扣(LeetCode)...原创 2020-02-25 23:13:50 · 243 阅读 · 0 评论 -
Leetcode P27 移除元素
Leetcode P27 移除元素还是作业题,leetcode 简单题+1。题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3...原创 2020-02-20 15:16:31 · 214 阅读 · 0 评论 -
Leetcode P26 删除排序数组中的重复项
Leetcode P26 删除排序数组中的重复项还是写学校作业,依然是 leetcode 简单题。题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1)O(1)O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 ...原创 2020-02-19 22:31:18 · 210 阅读 · 0 评论 -
Leetcode P1 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。利用暴力求解、哈希表......原创 2020-02-18 11:44:25 · 185 阅读 · 0 评论 -
什么?导致我leetcode超时的不是算法是并发?
我写 leetcode 居然超时了!原因居然不是因为蒟蒻如我只会低效算法,而是手闲使用了并发!这是一场并发引起的血案!原创 2020-02-16 21:35:59 · 1368 阅读 · 0 评论