day-102 二进制矩阵中的最短路径


思路

BFS

解题过程

从起点依次向八个方向尝试(之后也一样),如果某个位置在矩阵内且值为0且没有访问过,将其添加到一个队列中,依次类推,直到到达出口

Code

java 复制代码
class Solution {
    public int shortestPathBinaryMatrix(int[][] grid) {
        int ans = 1;
        int nn = grid.length;
        int vis[][] = new int[nn][nn];
        vis[0][0] = 1;
        LinkedList<int[]> q = new LinkedList<>();
        if (grid[0][0] == 1)
            return -1;
        q.add(new int[] { 0, 0 });
        while (!q.isEmpty()) {
            int len = q.size();
            for (int i = 0; i < len; i++) {
                int arr[] = q.poll();
                int x = arr[0];
                int y = arr[1];
                if (x == nn - 1 && y == nn - 1)
                    return ans;
                for (int m = x - 1; m <= x + 1; m++) {
                    for (int n = y - 1; n <= y + 1; n++) {
                        if (0 <= m && m < nn && 0 <= n && n < nn && vis[m][n] == 0
                                && grid[m][n] == 0) {
                            grid[m][n] = 1;
                            q.offer(new int[] { m, n });
                        }
                    }
                }
            }
            ans++;
        }
        return -1;
    }

}

作者:菜卷
链接:https://leetcode.cn/problems/shortest-path-in-binary-matrix/solutions/3034582/er-jin-zhi-ju-zhen-zhong-de-zui-duan-lu-xsg22/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
歪歪歪比巴卜5 小时前
服务商批量接手客户跨平台社媒账号的技术落地:体检体系与重启架构
矩阵·架构·aigc
比卡超哥5 小时前
Ctorch开发日志——矩阵乘法优化及数学原理
线性代数·矩阵
青山木12 小时前
Hot 100 --- 搜索二维矩阵
java·算法·leetcode·矩阵
XUEYUAN521212 小时前
跨境爬虫与矩阵运维:代理IP风控原理、节点差异与厂商技术调研
运维·爬虫·矩阵
A_cainiao_A13 小时前
【ggml系列】【第四篇】ggml_graph_compute 多线程计算引擎与算子分发源码深度解析
开发语言·c++·矩阵
AI科技星1 天前
曲率‑挠率与 $\boldsymbol{\omega/c}$ 的关系、精算验证及其物理意义
c语言·开发语言·线性代数·算法·决策树·机器学习·ai科技星
粉色大象2 天前
线性代数入门:行列式与矩阵全解析
线性代数·矩阵
粉色大象2 天前
线性代数基础知识点
人工智能·线性代数·机器学习
会博通·代码搬运工3 天前
会博通API对接实战:工程企业文档分布式采集系统的技术实现与Python SDK详解
开发语言·分布式·python·线性代数·矩阵·架构·电子档案合规
AI科技星3 天前
全域光速运动理论体系 (GAQ-UFT)——范式重构、核心方程与传统物理的本质分野
人工智能·线性代数·机器学习·重构·数据挖掘·回归·ai科技星