题目描述
在给定的网格中,每个单元格可以有以下三个值之一:
值 0 代表空单元格;
值 1 代表新鲜橘子;
值 2 代表腐烂的橘子。
每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。
返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。
我的解题
引入队列
class Solution {
public:
int orangesRotting(vector<vector<int>>& grid) {
int m=grid.size();
if(m==0) return 0;
int n=grid[0].size();
int nums=0, nextnums=0;
int times=0;
queue<pair<int, int>>Q;
bool isfresh=false;
for(int i=0; i<m; i++ )
{
for(int j=0;j<n;j++)
{
if(grid[i][j] == 2)
{
Q.push(make_pair(i,j));
nums++;
}