leetcode
文章平均质量分 51
山里小龙
这个作者很懒,什么都没留下…
展开
-
LeetCode每日一题-通配符匹配
题目给定一个字符串(s)和一个字符模式(p),实现一个支持'?'和'*'的通配符匹配。'?'可以匹配任何单个字符。'*'可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明: s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和*。示例1:输入:s = "adceb"p = "*a*b"输出: true解释: 第一个 '*' 可以匹配空字符串, 第二个 '*...原创 2021-09-12 23:20:14 · 337 阅读 · 0 评论 -
LeetCode每日一题-最大矩形
题目给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。分析这道题一开始想到用动态规划来做,但没有得到正确结果,看了一会其他人的题解,大部分是用力扣84题的方法来解,但实现逻辑较多,不够清晰,所以决定继续用动态规划做这道题。这道题核心是怎么求一个点涉及到的矩形面积,如下图的点(i,j),它涉及到三个矩形我用三种颜色标记了,接下来只需找出这三种颜色矩形中最大面积就行了。第一层为黄色,它的面积为这个矩.原创 2021-09-06 21:34:02 · 707 阅读 · 0 评论 -
LeetCode每日一题- 翻转对
题目给定一个数组nums,如果i < j且nums[i] > 2*nums[j]我们就将(i, j)称作一个重要翻转对。你需要返回给定数组中的重要翻转对的数量。示例 1:输入: [1,3,2,3,1]输出: 2示例 2:输入: [2,4,3,5,1]输出: 3链接:https://leetcode-cn.com/problems/reverse-pairs分析这道题难度级别为“困难”,它的“困难”不在于解题思路,而是运行...原创 2021-09-05 15:56:10 · 215 阅读 · 0 评论 -
LeetCode每日一题-N皇后 II
题目n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。分析力扣界面改成蓝色基色,给人感觉很清新,赞一个。这道题比N皇后I要容易一些,是一道典型的深度优先算法题,解题思路是一模一样的。N皇后的关键我认为不是dfs+回溯,而是怎么判断斜线上已经存在皇后了,直线很容易判断,用一个boolean[n]数组缓存就行了,但斜线呢?往左上的斜线的特点是坐标值相减,如p(原创 2021-09-03 00:20:27 · 124 阅读 · 0 评论 -
LeetCode每日一题-零钱兑换 II
题目给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回0 。假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整数。示例 1:输入:amount = 5, coins =[1, 2, 5]输出:4解释:有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1https:...原创 2021-08-24 23:44:03 · 381 阅读 · 0 评论 -
LeetCode每日一题-最佳买卖股票时机含冷冻期
题目给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票(即冷冻期为 1 天)。示例:输入:[1,2,3,0,2]输出: 3解释:对应的交易状态为:[买入, 卖出, 冷冻期, 买入, 卖出]分析冷冻期有一天,这个设定很误导人...原创 2021-08-22 19:05:06 · 221 阅读 · 0 评论 -
LeetCode每日一题-扫雷游戏
题目让我们一起来玩扫雷游戏!给定一个代表游戏板的二维字符矩阵。'M'代表一个未挖出的地雷,'E'代表一个未挖出的空方块,'B'代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字('1'到'8')表示有多少地雷与这块已挖出的方块相邻,'X'则表示一个已挖出的地雷。如果一个地雷('M')被挖出,游戏就结束了-把它改为'X'。如果一个没有相邻地雷的空方块('E')被挖出,修改它为('B'),并且所有和其相邻的未挖出方块都应该被递归地揭露。如果一个...原创 2021-08-13 23:47:38 · 1797 阅读 · 0 评论 -
LeetCode每日一题-岛屿数量
题目给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:1分析这是一道典型的深度优先算法原创 2021-08-12 22:46:24 · 285 阅读 · 0 评论 -
LeetCode每日一题-N皇后
题目n皇后问题 研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的n皇后问题 的解决方案。每一种解法包含一个不同的n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]解释:如上图所示,4 皇后问题存在两个不同的解法...原创 2021-08-10 22:35:38 · 200 阅读 · 0 评论 -
LeetCode每日一题-从前序与中序遍历序列构造二叉树
题目给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]提示:1 <= preorder.length <= 3000inorder.length == preorder.length-3000 <= preorder[i], inor.原创 2021-07-31 00:12:17 · 380 阅读 · 0 评论 -
LeetCode每日一题-二叉树的序列化与反序列化
题目序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。示例 1:输入:root = [1,2,3,null,null,4,5] (见下图)输出:[1,2,3,null,null,4,5原创 2021-07-29 21:54:27 · 236 阅读 · 0 评论 -
LeetCode每日一题-验证二叉搜索树
题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/validate-binary-search-tree分析这道题不细心的话容易踩坑,一般惯性思维都会只比较当前节点与左右子节点的值,一开始我认为这是一道简单题,快速原创 2021-07-27 20:23:03 · 71 阅读 · 0 评论 -
LeetCode每日一题-接雨水-执行时间击败100%的用户
题目给定 n 个非负整数表示每个宽度为 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 个单位的雨水(蓝色部分表示雨水),详细见下图。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/trapping-rain-wat原创 2021-07-26 13:10:31 · 231 阅读 · 0 评论 -
LeetCode每日一题-三数之和
题目:给你一个包含 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 = []输出:[]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum原创 2021-07-05 20:34:41 · 119 阅读 · 0 评论 -
LeetCode每日一题-三数之和
题目:给你一个包含 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 = []输出:[]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum...原创 2021-07-05 20:27:05 · 119 阅读 · 0 评论 -
LeetCode每日一题-盛最多水的容器
题目:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 2:输入:height = [1,1]输出:1示例 3:输入:height = [4,3,2,1,4]输出:16来源:力扣(LeetCode)链接:https://leetcod原创 2021-07-01 22:52:51 · 118 阅读 · 1 评论