腐烂的橘子

注意这里的,如果要当成队列来使用,这里que.pop(0),不是pop(-1)

在这里插入图片描述

class Solution:
    def orangesRotting(self, grid: List[List[int]]) -> int:
        m=len(grid)
        n=len(grid[0])
        que=[]
        x=[0,0,-1,1]
        y=[1,-1,0,0]
        level=0

        for i in range(m):
            for j in range(n):
                if grid[i][j]==2:
                    que.append((i,j))

        while len(que)!=0:
            for k in range(len(que)):
                cur=que.pop(0)#注意这里的pop(0)才可以当成队列来使用
                row=cur[0]
                col=cur[1]
                for q in range(4):
                    xx=x[q]+row
                    yy=y[q]+col
                    if 0<=xx<m and 0<=yy<n and grid[xx][yy]==1:
                        grid[xx][yy]=2
                        que.append((xx,yy))
            level+=1
        for i in range(m):
            for j in range(n):
                if grid[i][j]==1:
                    return -1
        if level==0:
            return 0
        else:
            return level-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值