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

JAVA练习333- 单词搜索

JAVA练习333- 单词搜索
📅 发布时间:2026/7/23 20:17:04

题目概览

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

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

示例 1:

输入:board = [['A','B','C','E'],['S','F','C','S'],['A','D','E','E']], word = "ABCCED"输出:true

示例 2:

输入:board = [['A','B','C','E'],['S','F','C','S'],['A','D','E','E']], word = "SEE"输出:true

示例 3:

输入:board = [['A','B','C','E'],['S','F','C','S'],['A','D','E','E']], word = "ABCB"输出:false

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • board和word仅由大小写英文字母组成

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在board更大的情况下可以更快解决问题?

来源:79. 单词搜索 - 力扣(LeetCode)

解题分析

方法:回溯

我们令当前位置为 i, j,word 的当前索引为 index,那么:

  1. 当 i 或 j 越界时,返回 false
  2. 当 board[i][j] != word[index] 时,无法往下走,返回 false
  3. 当 board[i][j] == word[index] 时,index++,若此时 index == word 长度,返回 true,否则 将当前元素置空,然后朝着四个方向继续遍历,遍历完成后,回溯当前元素和 index

时间复杂度:O(mnx3^L) (其中 m,n 为网格的长度与宽度,L 为字符串 word 的长度)
空间复杂度:O(mn)

class Solution { public static int[][] directs = new int[][]{{1,0},{-1,0},{0,1},{0,-1}}; public boolean exist(char[][] board, String word) { for (int i = 0; i < board.length; ++i) { for (int j = 0; j < board[0].length; ++j) { if (backTracking(i, j, board, word, 0)) { return true; } } } return false; } public boolean backTracking(int i, int j, char[][] board, String word, int wordIndex) { if (i < 0 || j < 0 || i >= board.length || j >= board[0].length || board[i][j] != word.charAt(wordIndex)) { return false; } char temp = board[i][j]; wordIndex++; if (wordIndex == word.length()) { return true; } board[i][j] = '!'; for (int[] direct: directs) { if (backTracking(i + direct[0], j + direct[1], board, word, wordIndex)) { return true; } } wordIndex--; board[i][j] = temp; return false; } }

相关新闻

  • 深入解析ePWM动作限定器事件优先级与死区生成原理
  • 武汉老板注意:光谷企业做展厅,别再拿“科技感“说事了
  • AI语音多语言配音效率革命:实测8款引擎TTS质量/时延/成本对比,第3名竟被90%企业忽略(2024Q2权威测评报告)

最新新闻

  • 8月份去山西旅游好玩吗?五台山平遥壶口瀑布行程怎么安排?有没有适合带孩子的当地纯玩团推荐? - 实用旅游攻略分享
  • 2026年重庆潼南管道疏通避坑指南:快达师傅教你识别隐形收费 - 余生黄金回收
  • SCRM工具哪个靠谱?企微SCRM全方位测评指南|2026选型参考 - 资讯快报
  • 【2019-12-21】可信执行环境TEE介绍
  • 抖音小店一件代发如何找蓝海商品?新手选品和类目竞争分析方法 - 电商分享
  • Android CameraServer架构理解

日新闻

  • 亨得利盐城维修点在哪里?手表维修保养地址指南**公示(2026年7月最新) - 亨得利官方
  • 提升.NET API安全性:Boxed.AspNetCore.Swagger认证授权最佳实践
  • 帝舵佛山**网点地址更新:2026年7月售后热线电话与服务客户指南 - 帝舵中国官方服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

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

服务项目

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

快速链接

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

联系方式

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

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