- 博客(6)
- 收藏
- 关注
原创 力扣51题:N皇后
本文记录的是我关于这一道题目的代码理解按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 个皇后放置在 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 和 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."
2024-03-24 16:26:35 798 1
原创 关于力扣773题的一些代码改进
这一次我使用的是官方的BFS模板2,使用了哈希集set来查重,也不知道我的脑子当时是怎么了,抓起双向BFS就开始写,完全写飞,就算提交通过,又有什么意义呢,还不如来一句“时间超时”来得痛快。原本我的思路是将directions数组进行原地枚举所有可能,改进后的代码新建了方法,直接在方法中枚举所有的交换的可能,之后返回枚举得到的数组扁平化集合。原本是效率应该比BFS时间复杂度要高的双向BFS,在我一顿屎山buff加成下已经失去了算法该有的快速。这些可能都是一些最基础的东西,继续学习吧,能了解更多。
2024-03-12 23:07:36 332
原创 力扣773题:滑动谜题
在一个 的板上()有 5 块砖瓦,用数字 来表示, 以及一块空缺用 来表示。一次 移动 定义为选择 与一个相邻的数字(上下左右)进行交换.最终当板 的结果是 谜板被解开。给出一个谜板的初始状态 ,返回最少可以通过多少次移动解开谜板,如果不能解开谜板,则返回 。示例 1:输入:board = [[1,2,3],[4,0,5]]输出:1解释:交换 0 和 5 ,1 步完成示例 2:输入:board = [[1,2,3],[5,4,0]]输出:-1解释:没有办法完成谜板示例
2024-03-12 22:32:17 1707
原创 力扣529题:扫雷游戏
让我们一起来玩扫雷游戏!给你一个大小为 二维字符矩阵 ,表示扫雷游戏的盘面,其中:给你一个整数数组 ,其中 表示在所有 未挖出的 方块( 或者 )中的下一个点击位置( 是行下标, 是列下标)。根据以下规则,返回相应位置被点击后对应的盘面:示例 1:输入:board = [["E","E","E","E","E"],["E","E","M","E","E"],["E","E","E","E","E"],["E","E","E","E","E"]], click = [3,0]输出:[["B","1
2024-03-06 22:58:33 1480
原创 力扣286题:墙与门
你被给定一个 的二维网格 ,网格中有以下三种可能的初始化值:你要给每个空房间位上填上该房间到 最近门的距离 ,如果无法到达门,则填 即可。示例 1:输入:rooms = [[2147483647,-1,0,2147483647],[2147483647,2147483647,2147483647,-1],[2147483647,-1,2147483647,-1],[0,-1,2147483647,2147483647]]输出:[[3,-1,0,1],[2,2,1,-1],[1,-1,2,-1],[
2024-03-02 17:27:19 1920 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人