替换图片链接

This commit is contained in:
programmercarl
2025-03-17 15:52:23 +08:00
parent 91e7dab72c
commit 86a0208485
216 changed files with 813 additions and 813 deletions

View File

@@ -155,7 +155,7 @@ grid[i][j][k] = m表示 节点i 到 节点j 以[1...k] 集合为中间节点
grid数组是一个三维数组那么我们初始化的数据在 i 与 j 构成的平层,如图:
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240425104247.png)
![](https://file.kamacoder.com/pics/20240425104247.png)
红色的 底部一层是我们初始化好的数据,注意:从三维角度去看初始化的数据很重要,下面我们在聊遍历顺序的时候还会再讲。
@@ -202,7 +202,7 @@ vector<vector<vector<int>>> grid(n + 1, vector<vector<int>>(n + 1, vector<int>(n
所以遍历k 的for循环一定是在最外面这样才能一层一层去遍历。如图
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424120109.png)
![](https://file.kamacoder.com/pics/20240424120109.png)
至于遍历 i 和 j 的话for 循环的先后顺序无所谓。
@@ -234,7 +234,7 @@ for (int i = 1; i <= n; i++) {
此时就遍历了 j 与 k 形成一个平面i 则是纵面,那遍历 就是这样的:
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424115827.png)
![](https://file.kamacoder.com/pics/20240424115827.png)
而我们初始化的数据 是 k 为0 i 和 j 形成的平面做初始化,如果以 k 和 j 形成的平面去一层一层遍历,就造成了 递推公式 用不上上一轮计算的结果,从而导致结果不对(初始化的部分是 i 与j 形成的平面,在初始部分有讲过)。
@@ -253,7 +253,7 @@ for (int i = 1; i <= n; i++) {
就是图:
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424120942.png)
![](https://file.kamacoder.com/pics/20240424120942.png)
求节点1 到 节点 2 的最短距离,运行结果是 10 但正确的结果很明显是3。
@@ -267,7 +267,7 @@ for (int i = 1; i <= n; i++) {
而遍历k 的for循环如果放在中间呢同样是 j 与k 行程一个平面i 是纵面,遍历的也是这样:
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424115827.png)
![](https://file.kamacoder.com/pics/20240424115827.png)
同样不能完全用上初始化 和 上一层计算的结果。
@@ -283,7 +283,7 @@ for (int i = 1; i <= n; i++) {
图:
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240425112636.png)
![](https://file.kamacoder.com/pics/20240425112636.png)
求 节点1 到节点3 的最短距离如果k循环放中间程序的运行结果是 -1也就是不能到达节点3。