![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
zxzxin
分享、总结 C++、Java、算法 等技术
展开
-
LeetCode - 463. Island Perimeter(岛屿的周长)(规律/DFS/BFS)
LeetCode463-Island Perimeter(岛屿的周长)(规律/DFS/BFS) 找规律 BFS DFS 题目链接 题目 找规律 这个方法的思路就是: 首先看如果没有相邻的方格的话,就是4 * (grid[i][j] == 1)的数量 ,记为island; 如果有相邻的,我们只需要遍历每一个,上下左右4个方向,有相邻的统计即可,最后用island - 这个数量即可; cl...原创 2018-10-08 12:42:14 · 532 阅读 · 0 评论 -
LeetCode - 37.Sudoku Solver (DFS、回溯)
LeetCode - 37.Sudoku Solver (DFS、回溯) 题目链接 题目 解析 这个题目和N皇后问题很像: N皇后问题的数组标记法中用三个数组标记列、主对角线、副对角线是否已经摆法了皇后,这里同样也需要用三个二维数组来标记之前是否已经摆放(求解)了数字。 使用三个数组标记之后,然后就是递归去尝试求解了。一开始将不是.的先标记已经放置了(置为true),然后递归求解即可,...原创 2019-01-25 12:55:08 · 303 阅读 · 0 评论 -
LeetCode - 40. Combination Sum II && LeetCode - 216. Combination Sum III (DFS)
LeetCode - 40. Combination Sum II && LeetCode - 216. Combination Sum III (DFS) LeetCode - 40. Combination Sum II LeetCode - 216. Combination Sum III LeetCode - 40. Combination Sum II 题目链接 ...原创 2019-01-25 09:39:46 · 317 阅读 · 0 评论 -
LeetCode - 684. Redundant Connection (DFS | 并查集)
LeetCode - 684. Redundant Connection (DFS | 并查集) DFS 并查集 题目链接 题目 DFS 思路: 每次添加一条边,然后判断加上这条边之后会不会构成环; 判断一个图有没有环用dfs,这里需要维护一个pre变量,表示上次访问的节点,然后使用vis数组标记以及访问的节点,如果再次访问到,就表明有环了; class Solution { ...原创 2019-01-14 20:07:31 · 752 阅读 · 1 评论 -
LeetCode - 127. Word Ladder & 126 (BFS)
LeetCode - 127. Word Ladder & 126 (BFS) LeetCode - 127. Word Ladder LeetCode - 126. Word LadderII LeetCode - 127. Word Ladder 题目链接 题目 解析 两种解法: 单向BFS和双向BFS(Bidrectional BFS)。 单向BFS: 首先将wordDic...原创 2019-01-14 16:57:42 · 457 阅读 · 0 评论 -
LeetCode - 488. Zuma Game (DFS)
LeetCode - 488. Zuma Game (DFS) 题目链接 题目 解析 看题目中的三个例子: DFS过程: 先用一个map保存hand字符串中每种颜色的个数; dfs过程,遍历当前board字符串,逐个去寻找一段连续的相同的球,如果这段相同的球在map中还可以提供足够的消去的球,就先消去,这里需要消耗3 - (j - i)个球(具体看代码); 然后先去递归消去剩下的(由elim...原创 2019-01-23 22:29:46 · 990 阅读 · 0 评论 -
LintCode - 862. Next Closest Time (暴力 | DFS)
LintCode - 862. Next Closest Time (暴力 | DFS) 暴力 DFS 题目链接 题目 暴力解法 暴力的解法就是,枚举所有的可能: 每次累加一分钟 ,然后检查所有的数字是不是都在原来的数字中; 如果是就可以break,因为注意题目说的是下一个最近的时间,不能往前面推; public class Solution { public String n...原创 2019-01-13 10:18:00 · 225 阅读 · 0 评论 -
LeetCode - 675. Cut Off Trees for Golf Event (排序BFS求最短路)
LeetCode - 675. Cut Off Trees for Golf Event (排序BFS求最短路) 题目链接 题目 解析 看下面一个例子: 因为题目必须要按照树的高度来砍(访问), 所以我们只需要将所有树按照高度height排序,然后进行对按照顺序bfs访问所有的树即可; 结果就是所有bfs结果的和; class Solution { private cla...原创 2019-01-06 20:35:39 · 214 阅读 · 0 评论 -
POJ 3126 & 2251 & 1321 & 3278 (DFS | BFS)
POJ 3126 & 2251 POJ - 3126 - Prime Path POJ - 2251 - Dungeon Master POJ - 3126 - Prime Path 题目链接 题目大意 第一个数T代表测试样例个数,下面每一行是一个测试样例,每行输入两个数a、b,这两个数都是1000~9999之间的素数,现在要求你从第一个数变成第二个数,每次变换可以(只可以)改变其中...原创 2018-12-29 16:42:56 · 214 阅读 · 0 评论 -
Codeforces 217A & 580C & 189A & 368B
目录 Codeforces - 217A - Ice Skating 题目链接 题目大意 给你一个n,以及在坐标轴上的n个坐标(把这些坐标看做是一些岛), 一个人可以上、下、左、右的走,也就是说如果两个岛横坐标或者纵坐标相等,它们就可以相互到达,问你还需要添加多少个岛,可以使得任意两个岛可以相互到达。 解析 先把所有能相互到达的每个整体求出来,使用dfs求出连通分量的个数; 然后需要添加的...原创 2018-12-24 11:29:02 · 294 阅读 · 0 评论 -
Codefores - 377A & 476B & 550A & 550C
Codeforces - 377A - Maze Codeforces - 377A - Maze 题目链接 题目大意 就是在一个maze中,有empty cell(.)和wall(#),现在要你将k个.变成X,使得其他.还能连通。 解析 反过来思考,设.的数目为emptyNum,直接搜索到任意一条emptyNum - k的.的连通路径即可,其余的k个点就是答案。 import java...原创 2018-12-29 00:12:56 · 278 阅读 · 0 评论 -
LeetCode - 79. Word Search(DFS)
LeetCode-79. Word Search(搜索) 题目链接 题目 解析 这个题目很明显是使用搜索来做,这里使用DFS来做会比较方便: 递归函数要记录一个dist变量,表示当前搜索的深度,或者已经找到的字符串的长度,当dist == word.length -1的时候,说明已经找到了这个字符串,就可以返回true; 四个方向只需要一个即可,遍历每一个位置,从每个位置开始DFS即可,注意...原创 2018-12-01 13:12:10 · 180 阅读 · 0 评论 -
LeetCode - 39. Combination Sum (组合总和 | dfs)
LeetCode - 39. Combination Sum (组合总和 | dfs) 使用used数组和dfs排列数原创 2019-01-22 21:01:20 · 269 阅读 · 0 评论