尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

图刷图总结

图刷图总结
📅 发布时间:2026/6/20 5:48:32

130. 被围绕的区域

问题分析:一个矩阵中,如果被包围的区域,原地修改为X

解题思路:先标记边缘的元素为特殊值,然后再全局遍历矩阵,将0-->X,将特殊值-->0

自己第二次做解题出来了,几个堵点注意:

  • 遍历标记的时候,注意遍历第一整列和最后一整列,第一行和最后一行要去掉头尾元素
  • 做DFS的时候,对于矩阵的遍历,一定要记录访问过的元素
class Solution {public void solve(char[][] board) {int m = board.length;int n = board[0].length;List<int[]> pos = new ArrayList<>();for (int i = 0; i < m; i++) {if (board[i][0] == 'O') {pos.add(new int[] { i, 0 });}if (board[i][n - 1] == 'O') {pos.add(new int[] { i, n - 1 });}}for (int i = 1; i < n - 1; i++) {if (board[0][i] == 'O') {pos.add(new int[] { 0, i });}if (board[m - 1][i] == 'O') {pos.add(new int[] { m - 1, i });}}for (int[] a : pos) {tag(board, a[0], a[1]);}for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (board[i][j] == 'O') {board[i][j] = 'X';continue;}if (board[i][j] == '2') {board[i][j] = 'O';continue;}}}}private Set<String> visited = new HashSet<String>();private void tag(char[][] board, int i, int j) {if (i < 0 || i >= board.length || j < 0 || j >= board[0].length || board[i][j] == 'X') {return;}if (visited.contains(i + "-" + j)) {return;}board[i][j] = '2';visited.add(i + "-" + j);tag(board, i - 1, j);tag(board, i, j + 1);tag(board, i + 1, j);tag(board, i, j - 1);}
}

200. 岛屿数量

刷题步骤,先是5分钟理解题目,确定做题思路,使用什么算法,然后就是编码,编码先使用算法的基本模板,然后根据情况调整

这个题目,使用DFS的方式,结合isVisited来标识是否使用过。

class Solution {public int numIslands(char[][] grid) {// 题目理解清楚// 采取DFS/BFS的方式// 结果是岛屿的数量, int count// 找到所有1的位置// 依次访问visitdint m = grid.length;int n = grid[0].length;boolean[][] isVisited = new boolean[m][n];int res = 0;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (grid[i][j] == '1' && !isVisited[i][j]) {dfs(grid, isVisited, i, j);res++;}}}return res;}public void dfs(char[][] grid, boolean[][] isVisited, int i, int j) {// 终止条件if (i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || isVisited[i][j] || grid[i][j] == '0') {return;}isVisited[i][j] = true;dfs(grid, isVisited, i + 1, j);dfs(grid, isVisited, i - 1, j);dfs(grid, isVisited, i, j + 1);dfs(grid, isVisited, i, j - 1);}
}

相关新闻

  • Harmony学习之ArkTS语言基础
  • 超级无敌好看爱创猫短剧APP
  • 12-23午夜盘思

最新新闻

  • 2026辽阳漏水检测维修精选优质服务商TOP5推荐!卫生间漏水/厨房漏水/屋顶天花板漏水/阳台漏水/地下室漏水防水补漏检测维修-正规防水补漏公司优选口碑榜测评推荐 - 即刻修防水
  • RTXGI-DDGI入门指南:如何快速掌握NVIDIA实时全局光照技术
  • (2026新)百色正规防水补漏公司口碑榜TOP5权威推荐!卫生间/厨房/阳台/屋顶/天花板/地下室渗漏水检测维修攻略-靠谱漏水检测维修师傅推荐 - 安佳防水
  • AspectMock与Codeception完美结合:构建全面的PHP测试套件
  • Presenton开源AI演示生成工具:企业级演示文稿创作的完整解决方案
  • Awesome-AI 开源仓库架构设计与技术学习路线工程化沉淀方案

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号