当前位置: 首页 > news >正文

79.单词搜索

给定一个m x n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

class Solution { public boolean exist(char[][] board, String word) { char[] words = word.toCharArray(); for(int i = 0; i < board.length; i++) { // 遍历所有行 for(int j = 0; j < board[0].length; j++) { // 遍历所有列 if (dfs(board, words, i, j, 0)) return true; // 从(i,j)开始搜索 } } return false; // 所有起点都找不到 } public boolean dfs(char[][] board, char[] word, int i, int j, int k) { // 边界检查 + 字符匹配检查 if (i >= board.length || i < 0 || j >= board[0].length || j < 0 || board[i][j] != word[k]) return false; // 成功匹配到最后一个字符 if (k == word.length - 1) return true; // 标记当前位置为已访问(用'\0'占位) board[i][j] = '\0'; // 向四个方向继续搜索 boolean res = dfs(board, word, i + 1, j, k + 1) // 向下 || dfs(board, word, i - 1, j, k + 1) // 向上 || dfs(board, word, i, j + 1, k + 1) // 向右 || dfs(board, word, i, j - 1, k + 1); // 向左 // 恢复原始字符(回溯的关键步骤) board[i][j] = word[k]; return res; } }
http://www.jsqmd.com/news/542211/

相关文章:

  • ubuntu22.04环境鸿蒙全仓代码编译配置
  • Gemma-3 Pixel Studio镜像免配置:开箱即用的12B多模态推理工作站
  • Vite项目实战:解决monaco-editor中文汉化失败的3种方法(附最新语言包下载)
  • 从输入网址到访问服务器响应返回客户端
  • 155农村事务管理与交流平台系统-springboot+vue+微信小程序
  • 功能齐全的屏幕截图C++实现详解(附源码)
  • 智能周报生成器:OpenClaw+百川2-13B自动汇总工作成果
  • 156湖南交通工程学院学生就业信息系统-springboot+vue
  • 告别理论!用Cobalt Strike实战红日靶场:从蚁剑上线到SMB Beacon横向移动的避坑指南
  • 什么时候会触发FullGC
  • 百川2-13B模型量化对比:4bits与8bits版本在OpenClaw任务中的差异
  • AI 辅助 AUTOSAR 测试
  • python 第六课 (字典 函数 None 作用域 函数嵌套 函数递归调用 重点)
  • 3步掌握高效视频处理:ffmpegGUI让复杂命令可视化
  • 高效掌握BBDown:全场景哔哩哔哩视频下载工具使用指南
  • AutoDock Vina分子对接中过渡金属原子类型处理的5种突破性策略:高级技术架构指南
  • Switch-Toolbox:如何破解任天堂游戏文件编辑的三大技术难题?
  • 别再只调API了!用Java手搓一个能“思考”和“行动”的AI Agent(附完整代码)
  • 同步异步通信:UART详解
  • 3个步骤极速部署AdGuard广告拦截扩展:跨浏览器零门槛配置指南
  • 解锁compressorjs的图像优化能力:打造高性能Web应用的前端图片处理方案
  • E820 内存映射表深度解析
  • Elasticsearch 7.x 安全加固实战:从裸奔到密码保护的完整配置指南
  • Hearthstone-Script终极指南:如何免费自动化你的炉石传说游戏体验
  • 2026年质量好的企业oa系统/oa办公管理平台热门公司推荐 - 品牌宣传支持者
  • LFM2.5-1.2B-Thinking-GGUF参数详解:max_tokens/temperature/top_p调优实战
  • 从Fastjson到OGNL:JSONPath与表达式语言的性能对比与选型建议
  • 包装器简介
  • X-TRACK二次开发终极指南:如何基于开源框架快速扩展新功能
  • OpenClaw定时任务:百川2-13B实现每日早报自动生成与发送