随笔分类 - BFS
摘要:2039. 网络空闲的时刻 Solution 思路:一开始以为多源最短路径,但是n太大了,突然看到边权都是1,所以可以直接BFS,然后再根据每个点到源点的距离以及重发时间求最大即可。可以考虑三种情况: \(patience\ge2*distance\):应为$2*distance + 1$ \(pa
阅读全文
摘要:397. 整数替换 Solution 思路:BFS或者DFS,但是最大范围是2^31-1,会超出int的最大范围。还可以进行记忆化搜索。题解中面对奇数的情况,可以等效为2步到达偶数,即$2+Math.min(dfs(\frac{val +1}{2},dfs(\frac{val-1}{2}))\(,这
阅读全文
摘要:102. 二叉树的层序遍历 Solution 思路:搞一个深度,然后放到对应的层次里。这里开List嵌套的时候有点坑,不过根据list的容量大小和层次的高度关系,来进行创建。这里的NewNode不能共用。题解代码是 用for循环搞出来那一层的。普通的BFS是弹出一个。见下面代码二。 更新:LeetC
阅读全文
摘要:1765. 地图中的最高点 Solution 思路:开始的思路是直接把水域固定,然后扩散,但是扩散的方式不对,我是默认一圈的最小值直接加1,但是会出现问题,正确做法多源BFS,就是全部默认为-1,然后从水域开始做BFS,如果遇到不是-1的格子,说明一定是从之前的水域出发了,所以不能重复更新,不然就不
阅读全文
摘要:2045. 到达目的地的第二短时间 Solution 思路:求路径 然后再根据路径的长度算时间。这里使用BFS来维护最短路和次短路,然后根据次短路的长度来计算总时间。 class Solution { public int secondMinimum(int n, int[][] edges, in
阅读全文
摘要:1345. 跳跃游戏 IV Solution 思路: 看到题目后,发现转化为无向图就可以了。然后就以为没事了,发现大意了,因为重复的值可能有很多,导致图非常的稠密,最后会导致TLE,这里学习了可以去子图的方法,因为相等的值会在第一次进去子图时将其他的点都入队,不需要遍历其他点时再进入该子图,因此可以
阅读全文
摘要:胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0,0)的位置,离开城堡的门在(A-1,B-1,
阅读全文
摘要:题目:http://poj.org/problem?id=3278 思路:从n到k,每步有3种走法,根本没有发现用bfs可以完美解决问题。方法非常巧。其实也是正常解法,平时做的bfs都是6或8个方向并且是2维的,但是换做3种走法还是一维的就感觉很神奇,说明没有真正理解...
阅读全文
摘要:题目链接:点击打开链接题目大意:跑毒,跑到安全区,每个地方有敌人,输出路线经过的最少敌人的数量;-1是起点。 -2是安全区输入56 6 0 -2 34 2 1 2 12 2 8 9 78 1 2 1 -19 7 2 1 2输出9输入562 33 18 -2 8585 ...
阅读全文
摘要:题目链接:点击打开链接DescriptionYou are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes wh...
阅读全文
摘要:题目链接:点击打开链接Problem DescriptionThe GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvC...
阅读全文
摘要:题目链接:点击打开链接在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。输入格式:输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×12...
阅读全文

浙公网安备 33010602011771号