码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【LeetCode 130. 被围绕的区域】


    1. 题目

    2. 分析

    这题其实非常不错。如果正向解,非常麻烦;因为很难界定哪些O是被包围的?但是如果反向解呢?因为边界的O不会被包围,那么就可以想到跟边界O相连的O都不会被包围。那么除此之外的O都会被包围,题目就解决了。

    3. 代码

    class Solution:
        def solve(self, board: List[List[str]]) -> None:
            """
            Do not return anything, modify board in-place instead.
            """
            m, n = len(board), len(board[0])
            vis = [[0] * n for i in range(m)]
            
            # 只从边界遍历
            for i in [0,m-1]:
                for j in range(n):
                    if board[i][j] == 'O':                
                        self.dfs(i, j, m, n, vis, board)
            for j in [0, n-1]:
                for i in range(m):
                    if board[i][j] == 'O':                
                        self.dfs(i, j, m, n, vis, board)
    
            print(vis)
            for i in range(m):
                for j in range(n):
                    if vis[i][j] == 0:
                        board[i][j] = 'X'
                
        def dfs(self, i, j, m, n, vis, board):
            if i>=0 and j>=0 and i<m and j< n:
                if vis[i][j] == 0 and board[i][j] == "O":
                    vis[i][j] = 1
                    for item in [(i-1,j), (i, j-1), (i+1, j), (i, j+1)]:
                        new_i, new_j = item
                        self.dfs(new_i, new_j, m, n, vis, board)
    
    
  • 相关阅读:
    jpg怎么转换jpeg?一招教你轻松完成转格式
    OC-run loop
    想玩转监控神器Prometheus吗?
    4.交叉熵
    猿创征文 | 大数据比赛以及日常开发工具箱
    C++学习记录2
    使用Spring Boot向邮箱发送邮件
    三.Redis 的发布和订阅
    MongoDB - 构造复杂查询条件执行查询
    RecSysOps: 大规模推荐系统运维最佳实践
  • 原文地址:https://blog.csdn.net/liu16659/article/details/139336748
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号