Leetcode 994. 腐烂的橘子(DAY 262)---- 后端面试题(2020.1.5 华为机试真题)
文章目录
- 原题题目
- 代码实现(首刷自解 双百 挺简单的)
原题题目
代码实现(首刷自解 双百 挺简单的)
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 华为机试真题)相关推荐
- LeetCode 994. 腐烂的橘子
994. 腐烂的橘子 思路:直接bfs会出现2个腐烂的橘子在两边同时进行,这样会错误. 正确思路:每分钟变化后所有橘子状态为next_grid,直到橘子状态不改变.如果状态不变,且无新鲜的橘子则返回时 ...
- 【广度优先搜索】leetcode 994. 腐烂的橘子
994. 腐烂的橘子 文章目录 题目描述 示例1: 示例2: 示例3: 提示 方法:多源广度优先搜索 解题思路 代码 复杂度分析 题目描述 在给定的 m x n 网格 grid 中,每个单元格可以有以 ...
- leetcode 994:腐烂的橘子 java
994. 腐烂的橘子 - 力扣(LeetCode) (leetcode-cn.com) 多源广度优先搜索,初始的所有的腐烂橘子,等价于广度优先搜索的同一层,然后对每一层进行搜索: class Solu ...
- LeetCode 994. 腐烂的橘子(图的BFS)
1. 题目 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会 ...
- leetcode 994 腐烂的橘子
先给出题目: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都 ...
- leetcode 994.腐烂的橘子
题目: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂 ...
- 图解LeetCode——994. 腐烂的橘子
一.题目 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,腐烂的橘子 周围 4 个方向上相 ...
- 华为OD机试真题 Java 实现【删除重复数字后的最大数字】【100%通过率】【2022.11 Q4 新题】
所有题目均有四种语言实现.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能 ...
- 华为OD机试真题 Python 实现【删除重复数字后的最大数字】【100%通过率】【2022.11 Q4 新题】
所有题目均有四种语言实现.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能 ...
最新文章
- 微信小程序正确的异步request请求,根据经纬度获取地理位置信息
- 干货 | 带你解析计算机视觉热门技术—目标检测与追踪
- 敌兵布阵 HDU 1166 线段树
- CiscoCUCM配置网关协议
- Android 6.0 sensor 框架详解 (application层)
- 【CV-Paper 08】ResNet:Deep Residual Learning for Image Recognition
- 华为培养新员工的方案,值得收藏
- kappa系数简介---一致性与分类准确度指标
- pydub mp3转wav
- [审核]App审核被拒绝(本地网络权限弹框“Local Network”)
- [Leetcode] 717. 1比特与2比特字符
- 【学术】 一个博士的经历(小木虫精华帖,留着细细体会!)
- Co-Grounding Networks with Semantic Attention for Referring Expression Comprehension in Videos
- 电脑(PC端)多开两个或多个微信
- 台式cpu温度过高的两个原因及解决方法
- 怎么看待“别人恐惧我贪婪,别人贪婪我恐惧 “这句话
- 抖音修改签名服务器,抖音怎么修改个性签名 抖音经典热门个签句子大全
- C++Primer第二章看完后记得的小知识
- .NET高级工程师面试题之SQL篇
- android平台下基于ANativeWindow实现渲染bitmap图像
热门文章
- 博客园添加单曲背景音乐
- 科学计算机解多元方程组,南京大学计算机科学与技术系 数值计算方法(第3章)3 向量和矩阵的范数 病态方程组 解线性方程组的迭代法.ppt...
- 阿里云服务器对于淘宝客的用途有哪些?
- Rhino| Rhino详细介绍与实战
- 新品来袭:大彩M系列精简核心板结构串口屏发布,提供IO/USB扩展口二次开发
- JAVA爬电信_基于JAVA的电信基站接口调用代码实例
- linux 实现仿QQ应用程序
- 用手机测试你的肺活量!?
- 南京航空航天计算机课程表,【课程管理】南京航空航天大学本科生课程表编制与运行管理规定...
- 云南大学2019计算机拟录取名单,2019云南大学软件学院硕士研究生拟录取名单