![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣题解
scut_lyq00
编程是我的爱好 ,敲代码是我的日常必需
展开
-
【力扣】773. 滑动谜题
问题描述在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字1~5来表示, 以及一块空缺用0来表示.一次移动定义为选择0与一个相邻的数字(上下左右)进行交换.最终当板board的结果是[[1,2,3],[4,5,0]]谜板被解开。给出一个谜板的初始状态,返回最少可以通过多少次移动解开谜板,如果不能解开谜板,则返回 -1 。示例输入:board = [[1,2,3],[4,0,5]]输出:1解释:交换 0 和 5 ,1 步完成输入:board...原创 2020-10-30 10:03:53 · 196 阅读 · 0 评论 -
【模板】广度优先搜索(bfs)
使用1、最少、最优、优先,最先等字眼,区别于动态规划。 每个状态间相互独立。只要空间,时间允许,动态规划的算法可以转化为 bfs算法。2、描述中,有递归的规律。比如由一个状态,能到转换为其他状态。要素1、用队列来实现2、元素数据结构定义。3、初始元素定义4、一个元素继续生成其他元素方法5、符合条件退出队列方法6、去重。相同元素不能重复进队。模板// 元素数据结构定义 class Data { int[][] mat; int val; ...原创 2020-10-30 10:02:26 · 139 阅读 · 0 评论 -
【力扣】950. 按递增顺序显示卡牌
问题描述牌组中的每张卡牌都对应有一个唯一的整数。你可以按你想要的顺序对这套卡片进行排序。最初,这些卡牌在牌组里是正面朝下的(即,未显示状态)。现在,重复执行以下步骤,直到显示所有卡牌为止:从牌组顶部抽一张牌,显示它,然后将其从牌组中移出。 如果牌组中仍有牌,则将下一张处于牌组顶部的牌放在牌组的底部。 如果仍有未显示的牌,那么返回步骤 1。否则,停止行动。返回能以递增顺序显示卡牌的牌组顺序。答案中的第一张牌被认为处于牌堆顶部。示例输入:[17,13,11,2,3,5,7.原创 2020-10-27 10:11:47 · 165 阅读 · 0 评论 -
【力扣】539. 最小时间差
问题描述给定一个 24 小时制(小时:分钟"HH:MM")的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。示例输入:timePoints = ["23:59","00:00"]输出:1输入:timePoints = ["00:00","23:59","00:00"]输出:0提示2 <= timePoints <= 2 * 104timePoints[i]格式为"HH:MM"解读一、模拟题,把每个时间都转到分钟整数数组 A。...原创 2020-10-26 11:14:27 · 223 阅读 · 0 评论 -
【力扣】1338. 数组大小减半
问题描述给你一个整数数组arr。你可以从中选出一个整数集合,并删除这些整数在数组中的每次出现。返回至少能删除数组中的一半整数的整数集合的最小大小。示例输入:arr = [3,3,3,3,5,5,5,2,2,7]输出:2解释:选择 {3,7} 使得结果数组为 [5,5,5,2,2]、长度为 5(原数组长度的一半)。大小为 2 的可行集合有 {3,5},{3,2},{5,2}。选择 {2,7} 是不可行的,它的结果数组为 [3,3,3,3,5,5,5],新数组长度大于原数组的...原创 2020-10-26 10:54:20 · 85 阅读 · 0 评论 -
【力扣】1447. 最简分数
问题描述给你一个整数n,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于n的最简分数。分数可以以任意顺序返回。示例输入:n = 2输出:["1/2"]解释:"1/2" 是唯一一个分母小于等于 2 的最简分数。输入:n = 3输出:["1/2","1/3","2/3"]输入:n = 4输出:["1/2","1/3","1/4","2/3","3/4"]解释:"2/4" 不是最简分数,因为它可以化简为 "1/2" 。输入:n = 1...原创 2020-10-26 10:25:04 · 196 阅读 · 0 评论 -
【力扣】1448. 统计二叉树中好节点的数目
问题描述给你一棵根为root的二叉树,请你返回二叉树中好节点的数目。「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。示例输入:root = [3,1,4,3,null,1,5]输出:4解释:图中蓝色节点为好节点。根节点 (3) 永远是个好节点。节点 4 -> (3,4) 是路径中的最大值。节点 5 -> (3,4,5) 是路径中的最大值。节点 3 -> (3,1,3) 是路径中的最大值。输入:ro...原创 2020-10-23 09:51:21 · 188 阅读 · 0 评论 -
【力扣】894. 所有可能的满二叉树
问题描述满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点。返回包含 N 个结点的所有可能满二叉树的列表。 答案的每个元素都是一个可能树的根结点。答案中每个树的每个结点都必须有 node.val=0。你可以按任何顺序返回树的最终列表。示例输入:7输出:[[0,0,0,null,null,0,0,null,null,0,0],[0,0,0,null,null,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,null,null,null,null,原创 2020-10-22 11:46:59 · 165 阅读 · 0 评论 -
【力扣】791. 自定义字符串排序
问题描述字符串S和 T 只包含小写字符。在S中,所有字符只会出现一次。S 已经根据某种规则进行了排序。我们要根据S中的字符顺序对T进行排序。更具体地说,如果S中x在y之前出现,那么返回的字符串中x也应出现在y之前。返回任意一种符合条件的字符串T。示例:输入:S = "cba"T = "abcd"输出: "cbad"解释:S中出现了字符 "a", "b", "c", 所以 "a", "b", "c" 的顺序应该是 "c", "b", "a".由于 "d" 没有在S中出现,..原创 2020-10-21 11:29:46 · 94 阅读 · 0 评论 -
【力扣】537. 复数乘法
问题描述:给定两个表示复数的字符串。返回表示它们乘积的字符串。注意,根据定义 i2= -1 。注意:输入字符串不包含额外的空格。输入字符串将以a+bi 的形式给出,其中整数 a 和 b 的范围均在 [-100, 100] 之间。输出也应当符合这种形式。示例:输入: "1+-1i", "1+-1i"输出: "0+-2i"解释: (1 - i) * (1 - i) = 1 + i2 - 2 * i = -2i ,你需要将它转换为 0+-2i 的形式。解读:一、复数的模拟,...原创 2020-10-21 11:07:09 · 125 阅读 · 1 评论