We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 755b977 commit 95fdf91Copy full SHA for 95fdf91
BFS/2258.Escape-the-Spreading-Fire/Readme.md
@@ -30,3 +30,9 @@ P可以走4步到达终点D,F可以走2步到达终点D。这中情况下,
30
3. 如果```fire[m-1][n-2]>fire[m-2][n-1]```,说明从上边来是火的最快路径,那么我们希望人的最快路径是从左边来,故需查看是否```person[m-1][n-2]==person[m-1][n-1]-1````。是的话返回D。
31
32
判定完以上之后,就返回D-1.
33
+
34
+#### 解法2:3遍BFS
35
+在解法1中,我们的难点在于判断D是否是可行的解。其实有一个直观的做法,就是让人在起点停留D天,然后查看一下能否通过BFS顺利到达终点。BFS过程的要求就是人到任何一个中间位置(i,j)的时间,必须小于fire[i][j],否则就不能加入队列。如果最终能到达终点,就返回D,否则返回D-1.
36
37
+#### 解法3:二分搜值
38
+既然解法2中写了check函数来判断人停留D天后是否能到终点,那么我们索性就利用这个函数来二分搜值,找到最大的天数使得check的结果是OK。
0 commit comments