当前位置: 首页 > news >正文

网站建设公司的公司厦门网站建设公司哪家好

网站建设公司的公司,厦门网站建设公司哪家好,东营利津网站建设,专业做网络推广本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。

为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目归纳、通用解法总结等,还可以看到原题出现频率和相关企业等重要信息。如果有其他优选题解,还可以一同分享给他人。

由于本系列文章的内容随时可能发生更新变动,欢迎关注和收藏征服LeetCode系列文章目录一文以作备忘。

给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。

两个相邻元素间的距离为 1 。

示例 1:

输入:mat = [[0,0,0],[0,1,0],[0,0,0]]
输出:[[0,0,0],[0,1,0],[0,0,0]]

示例 2:

输入:mat = [[0,0,0],[0,1,0],[1,1,1]]
输出:[[0,0,0],[0,1,0],[1,2,1]]

提示:

  • m == mat.length
  • n == mat[i].length
  • 1 <= m, n <= 10^4
  • 1 <= m * n <= 10^4
  • mat[i][j] is either 0 or 1.
  • mat 中至少有一个 0

本题和「1162.地图分析」 一样!那道题理解为需要找到每个  0 0 0 最近的  1 1 1 ,而今天这道题是找每个  1 1 1 最近的  0 0 0

解法 多源BFS

首先把每个源点 0 0 0 入队,然后从各个 0 0 0 同时开始一圈一圈的向 1 1 1 扩散(每个 1 1 1 都是被离它最近的 0 0 0 扩散到的),扩散时可以设置 int[][] dist 来记录距离(即扩散的层次)并同时标志是否访问过。对于本题,可以直接修改原数组 int[][] matrix记录距离标志是否访问,这里要注意先把 m a t mat mat 数组中 1 1 1 的位置设置成 − 1 -1 1 (设成 Integer.MAX_VALUE m × n , m + n m \times n,\ m + n m×n, m+n 都行,只要是个无效的距离值来标志这个位置的 1 1 1 没有被访问过就行)

class Solution {
public:vector<vector<int>> updateMatrix(vector<vector<int>>& mat) {int m = mat.size(), n = mat[0].size();int MAX_VALUE = m + n;queue<pair<int, int>> q;for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {if (mat[i][j] == 0) q.push({i, j});else mat[i][j] = MAX_VALUE;}}int d[4][2] = {-1, 0, 1, 0, 0, -1, 0, 1};while (!q.empty()) {auto [x, y] = q.front(); q.pop();for (int i = 0; i < 4; ++i) {int u = x + d[i][0], v = y + d[i][1];if (u >= 0 && u < m && v >= 0 && v < n && mat[x][y] + 1 < mat[u][v]) {mat[u][v] = mat[x][y] + 1;q.push({u, v});}}}return mat;}
};

复杂度分析:

  • 时间复杂度: O ( m n ) O(mn) O(mn)
  • 空间复杂度:虽然我们是直接修改原输入数组来存储结果,但最差的情况下即全都是 0 0 0 时,需要把 m ∗ n m * n mn 0 0 0 都入队,因此空间复杂度是 O ( m n ) O(mn) O(mn)
http://www.hengruixuexiao.com/news/31850.html

相关文章:

  • 佛山网站推广经理八大营销模式有哪几种
  • .net网站开发文档网络热词2023流行语及解释
  • 网站做支付接口吗近10天的时事新闻
  • 江苏做网站公司有哪些谷歌广告
  • 高端大气装饰公司网站源码 百度网盘免费域名申请网站
  • 中小企业网站建设 论文廊坊百度推广电话
  • 佛山市做网站的公司网站建设平台有哪些
  • 公司怎么做网页网站百度关键词搜索优化
  • 3g网站制作网站推广的方式有哪些
  • 天河网站建设平台seo是什么姓
  • 大良营销网站建设市场南宁在哪里推广网站
  • 免费网站建设教程网站建设服务公司
  • 怎么做58同城网站潍坊网站建设方案咨询
  • 怎么做网页直播搜索引擎优化seo是什么
  • 网站建设用什么系统好自动推广软件免费
  • 建筑招工人在哪个网站比较好找关键词规划师工具
  • 微信定制开发seo关键词大搜
  • wordpress做双语网站百度推广工作怎么样
  • 网站建设硬件开支聊城网站seo
  • 网络系统安全原则重庆seo招聘
  • 山东东方路桥建设总公司官方网站seo培训班 有用吗
  • 北京app开发流程郑州黑帽seo培训
  • ps如何做网站轮播图网站托管服务商
  • 国外域名。国内网站最近三天的新闻大事小学生
  • 做网站需要用什么开发软件网络推广违法吗
  • 下载app免费下载app汕头自动seo
  • 做旅游海报的软件或是网站5118素材网站
  • 如何比较网站西地那非片吃了能延时多久
  • 自助建站一般适用于大型电子商务网站建设合肥搜索引擎推广
  • 如何自己做门户网站泰州seo排名扣费