文章目录

  • 原题题目
  • 代码实现(首刷自解 双百 挺简单的)

原题题目



代码实现(首刷自解 双百 挺简单的)


class Solution {public:inline void get_badorange(vector<vector<int>>& grid,vector<pair<int,int>>& next,int& fresh_oranges,int x,int y){if(x < 0 || x >= grid.size() || y < 0 || y >= grid[0].size() || grid[x][y] != 1)return;grid[x][y] = 2;next.emplace_back(x,y);--fresh_oranges;return;}int orangesRotting(vector<vector<int>>& grid) {int minutes = 0,fresh_oranges = 0;vector<pair<int,int>> bad_oranges;for(int i = 0;i < grid.size();++i){for(int j = 0;j < grid[0].size();++j){auto num = grid[i][j];if(num == 1) ++fresh_oranges;else if(num == 2)   bad_oranges.emplace_back(i,j);}}vector<pair<int,int>> next;while(!bad_oranges.empty() && fresh_oranges > 0){next.clear();for(int i = 0;i < bad_oranges.size();++i){auto pair = bad_oranges[i];auto x = pair.first,y = pair.second;get_badorange(grid,next,fresh_oranges,x+1,y);get_badorange(grid,next,fresh_oranges,x-1,y);get_badorange(grid,next,fresh_oranges,x,y+1);get_badorange(grid,next,fresh_oranges,x,y-1);                }bad_oranges.swap(next);++minutes;}return fresh_oranges == 0 ? minutes : -1;}
};

Leetcode 994. 腐烂的橘子(DAY 262)---- 后端面试题(2020.1.5 华为机试真题)相关推荐

  1. LeetCode 994. 腐烂的橘子

    994. 腐烂的橘子 思路:直接bfs会出现2个腐烂的橘子在两边同时进行,这样会错误. 正确思路:每分钟变化后所有橘子状态为next_grid,直到橘子状态不改变.如果状态不变,且无新鲜的橘子则返回时 ...

  2. 【广度优先搜索】leetcode 994. 腐烂的橘子

    994. 腐烂的橘子 文章目录 题目描述 示例1: 示例2: 示例3: 提示 方法:多源广度优先搜索 解题思路 代码 复杂度分析 题目描述 在给定的 m x n 网格 grid 中,每个单元格可以有以 ...

  3. leetcode 994:腐烂的橘子 java

    994. 腐烂的橘子 - 力扣(LeetCode) (leetcode-cn.com) 多源广度优先搜索,初始的所有的腐烂橘子,等价于广度优先搜索的同一层,然后对每一层进行搜索: class Solu ...

  4. LeetCode 994. 腐烂的橘子(图的BFS)

    1. 题目 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会 ...

  5. leetcode 994 腐烂的橘子

    先给出题目: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都 ...

  6. leetcode 994.腐烂的橘子

    题目: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂 ...

  7. 图解LeetCode——994. 腐烂的橘子

    一.题目 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,腐烂的橘子 周围 4 个方向上相 ...

  8. 华为OD机试真题 Java 实现【删除重复数字后的最大数字】【100%通过率】【2022.11 Q4 新题】

        所有题目均有四种语言实现.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能 ...

  9. 华为OD机试真题 Python 实现【删除重复数字后的最大数字】【100%通过率】【2022.11 Q4 新题】

        所有题目均有四种语言实现.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能 ...

最新文章

  1. 微信小程序正确的异步request请求,根据经纬度获取地理位置信息
  2. 干货 | 带你解析计算机视觉热门技术—目标检测与追踪
  3. 敌兵布阵 HDU 1166 线段树
  4. CiscoCUCM配置网关协议
  5. Android 6.0 sensor 框架详解 (application层)
  6. 【CV-Paper 08】ResNet:Deep Residual Learning for Image Recognition
  7. 华为培养新员工的方案,值得收藏
  8. kappa系数简介---一致性与分类准确度指标
  9. pydub mp3转wav
  10. [审核]App审核被拒绝(本地网络权限弹框“Local Network”)
  11. [Leetcode] 717. 1比特与2比特字符
  12. 【学术】 一个博士的经历(小木虫精华帖,留着细细体会!)
  13. Co-Grounding Networks with Semantic Attention for Referring Expression Comprehension in Videos
  14. 电脑(PC端)多开两个或多个微信
  15. 台式cpu温度过高的两个原因及解决方法
  16. 怎么看待“别人恐惧我贪婪,别人贪婪我恐惧 “这句话
  17. 抖音修改签名服务器,抖音怎么修改个性签名 抖音经典热门个签句子大全
  18. C++Primer第二章看完后记得的小知识
  19. .NET高级工程师面试题之SQL篇
  20. android平台下基于ANativeWindow实现渲染bitmap图像

热门文章

  1. 博客园添加单曲背景音乐
  2. 科学计算机解多元方程组,南京大学计算机科学与技术系 数值计算方法(第3章)3 向量和矩阵的范数 病态方程组 解线性方程组的迭代法.ppt...
  3. 阿里云服务器对于淘宝客的用途有哪些?
  4. Rhino| Rhino详细介绍与实战
  5. 新品来袭:大彩M系列精简核心板结构串口屏发布,提供IO/USB扩展口二次开发
  6. JAVA爬电信_基于JAVA的电信基站接口调用代码实例
  7. linux 实现仿QQ应用程序
  8. 用手机测试你的肺活量!?
  9. 南京航空航天计算机课程表,【课程管理】南京航空航天大学本科生课程表编制与运行管理规定...
  10. 云南大学2019计算机拟录取名单,2019云南大学软件学院硕士研究生拟录取名单