- 博客(3)
- 收藏
- 关注
原创 Leetcode解法记录 Word Ladder II
126. Word Ladder II Word Ladder 的第二题,这个与第一题的不同是第一题只要求找到一个最短路径。通过BFS可以找到最短路径,这里不同的是我要找到所有的最短路径,显然用BFS就不可以了,因为BFS只能找到其中一个解,但是BFS是可以找到最短的distance的,即值,找到值之后再通过DFS对所有的路径进行搜索,这样就可以找到所有的可能有一个非常值得注意的是这里设置的dictionary来记住到达每一层的距离,而这个到达每一层的最短距离是固定的,因此在进行DFS的时候可以进行剪枝 P
2020-07-15 07:37:26
133
原创 Leetcode解法记录 NextPermutation
Leetcode 31. Next Permutation 这道题讲道理第一遍做的时候并不会,题目要求是查找list中的下一个比他大的组合,如果不存在的话就返回reverse。这道题的写法非常的单一,个人觉得背下来基本上没有什么问题,是一个字典序问题。字典序模式是固定的,因此只需要背下字典序的方式就可以找到下一个需要的组合 字典序的相关注释包含在了代码内,按照代码注释一步步理解就行 代码 class Solution: def nextPermutation(self, nums):
2020-07-12 04:51:24
179
原创 Leetcode解法记录 N-Queens II
Leetcode 52. N-Queens II N 皇后问题非常经典,其题目要求n个皇后中任意两个元素都不在同一行,同一列,同一对角线。其实解法就是从一个DFS入手,与以往DFS不同的地方是现在存在了三个需要visited的东西,分别是:列,(row + column) 和 (row - column)。后面两个可以动手试试看,通过画出一个NxN的方形棋盘(有个注意点是该题参数只给了一个N,棋盘默认正方形)。可以看到两个对角线分别存在:1.左对角线及其平行线,如果在同一条线上(row - column)是
2020-07-10 05:11:25
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人