leecode刷题总结--图

1

leecode刷题总结--图
只要返回入度为0的节点。

2

leecode刷题总结--图
list<list<>>根据下标放该下标可以通向的地方,再根据深度遍历找到target,使用hashset来保证不会出现死循环。

3

leecode刷题总结--图
leecode刷题总结--图
dfs[i]遍历之后,回到当前i,需要删除list当前保存的值。list.remove
保证不会出现 0-1-3,0-1-3-2-3的重复情况。

4

leecode刷题总结--图
将每个下标可以通向的点放入list>里面。找到通向最多(记作max)的那个下标。(可能有多个)然后遍历找secondMax,如果点可以通向刚刚的下标则-1,找到secondeMax.相加即可。

5

![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210309205415438.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21teGds,size_16,color_FFFFFF,t_70
leecode刷题总结--图
如果是二分图则,相邻的两个不在一个集合,可以给涂色,分为无色,绿色,红色。如果发现下一个该图的色和已有的色冲突则说明不是二分图。因为不一定是连通图所以需要对其每个未涂色点进行遍历。leecode刷题总结--图
我的解法,开始未考虑非连通图。

6.并查集leecode刷题总结--图

把每个格子看成一个节点 把所有相连的点联通,并计算差绝对值。然后放入并查集,进行排序,从小到大进行查询联通,直到加入第i个节点时第一个点和最后一个点变成联通的,就返回第i个节点的val。(因为是从小到大,所以必定这个是联通路上最大的)。

7

leecode刷题总结--图
leecode刷题总结--图
多源最大值,从一个点集找到任意另一个点集最小距离的最大值。上下左右任意扩散一步,进行标记。最后一个被标记的海洋就是最远的。

上一篇:【Leecode笔记】第二十四周 剑指offer(3.29-4.4)


下一篇:11 二叉树的最大深度(leecode 104)