遍历整个grid数组,当发现有1的时候,就把和这个1连成片的1都置为0,并增加一个计数。最后返回这个计数。 广搜,但这个代码通不过测试,栈溢出。 class Solution { public: void bfs(vector<vector<char>>& grid,int i,int j){ if ...
分类:
其他好文 时间:
2019-12-29 22:05:43
阅读次数:
104
1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int val; 5 * TreeNode left; 6 * TreeNode right; 7 * TreeNode(int x) { val ...
分类:
其他好文 时间:
2019-12-13 00:11:09
阅读次数:
93
题目大意: 同一个昵称可能不是同一个人,也可能是同一个人,但不同的昵称肯定不是同一个人.按照题意将同一个人的邮箱地址链接起来 并查集: 对对应的邮箱地址进行并查集操作,如果存在有交集的邮箱地址,则两个列表肯定归属于同一个人,将他们连接起来. 1 class Solution { 2 public: ...
分类:
其他好文 时间:
2019-12-12 23:39:06
阅读次数:
95
"??" 其实就是一个广搜能解决的问题,但是!!!不知道为啥, 自己码了个广搜还总是WA12,看不到样例哎呀好气。 这个题其实应该在广搜基础上多想一步,根据题目,最后走出来的路肯定是:城镇 荒野 城镇 荒野,这样子,所以我们也不用判断走的每一步到底是啥,直接算总共多少步,然后ans/2是a,剩下的给 ...
分类:
其他好文 时间:
2019-12-12 01:22:23
阅读次数:
95
以前一直知道深搜是一个递归栈,广搜是队列,FIFO先进先出LILO后进后出啥的。DFS是以深度作为第一关键词,即当碰到岔道口时总是先选择其中的一条岔路前进,而不管其他岔路,直到碰到死胡同时才返回岔道口并选择其他岔路。接下来将介绍的广度优先搜索(Breadth First Search, BFS)则是 ...
分类:
其他好文 时间:
2019-12-11 21:30:37
阅读次数:
109
宽度优先搜索,层序遍历各节点,并记录各节点所在层,时间复杂度 O(n)。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode ...
分类:
其他好文 时间:
2019-11-28 23:06:15
阅读次数:
119
BFS 广搜算法 讲一下图的遍历,广搜。 广搜是图的遍历的一种,它能够在图中的两的点之间找到一条最短的一条路径。但是如果仅使用广搜,搜索的规模会与点的数量以及边的数量有关。当规模很大的时候,广搜不是一种很好的解决方案。 举个例子,这是图的形式 然后便是其邻接矩阵的形式: ![photo2][phot ...
分类:
其他好文 时间:
2019-11-17 12:46:41
阅读次数:
57
封锁阳光大学 标签: 这题是真的难想……知道是二分图染色就明白了,~~虽然之前没学好~~。 题面表面说是 一张 图,实际上……嗯,很多连通子图。 思路 建图$\large \Rightarrow$枚举点$\large \Rightarrow$广搜染色$\large \Rightarrow$判定合法不 ...
分类:
其他好文 时间:
2019-11-11 15:32:34
阅读次数:
104
广搜求最少转机 struct node { int x; ///城市编号 int s; }q[maxn]; void bfs() { head=tail=1; q[tail].x=1; q[tail++].s=0; vis[start]=1; int cur,flag=0; while(head<t ...
分类:
其他好文 时间:
2019-11-03 18:30:48
阅读次数:
78
算法:广搜 解题思路: 因为要求最少的变换次数,所以很自然的想到要用广搜。广搜的初始状态为:10L的瓶子装满,其他的瓶子为空,接着只需要进行普通广搜即可。注意:因为有三个瓶子,故一共有6种移动状态: 1:从10L的瓶子向7L的瓶子中倒: 2:从7L的瓶子向3L的瓶子中倒: 3:从10L的瓶子向3L的 ...
分类:
其他好文 时间:
2019-10-26 10:45:38
阅读次数:
112