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

Lintcode123 Word Search solution 题解

【题目描述】

Given a 2D board and a word, find if the word exists in the grid.

The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically neighboring. The same letter cell may not be used more than once.

给出一个二维的字母板和一个单词,寻找字母板网格中是否存在这个单词。

单词可以由按顺序的相邻单元的字母组成,其中相邻单元指的是水平或者垂直方向相邻。每个单元中的字母最多只能使用一次。

【题目链接】

www.lintcode.com/en/problem/word-search/

【题目解析】

基本思路比较简单:从board上每一个点出发,用depth first search (DFS)上下左右四方向搜索匹配的word。需要注意到几点:

1、考虑board的边界

2、cell是否已经被遍历过(临时转换为特定标识字符,比如'#',recursion返回后再重置回原来的值,这样可以省去额外开辟二维数组visited[i][j]的空间复杂度)

3、搜索结束的标志是k == word.length()

【参考答案】

www.jiuzhang.com/solutions/word-search/

转载于:https://blog.51cto.com/13517018/2048863

相关文章:

  • The Little Prince-12/08
  • React中路由传参及接收参数的方式
  • 移动硬盘做pe启动盘
  • Java爬虫——人人网模拟登录
  • 服务器小白-MYSQL基础安装配置
  • [译] 听说你想学 React.js ?
  • 学习CSS的思路(转)
  • Js基础知识学习
  • 对PostgreSQL源代码中的is_pushed_down的理解
  • Readings in Databases
  • 使用python处理selenium中的鼠标悬停问题
  • nginx 防火墙、权限问题
  • Swift 2 0 所有新特性
  • Xcode真机调试出现The account '***' has no team with ID '***'的解决方案
  • 关于Autolayout制作动画的坑
  • 10个最佳ES6特性 ES7与ES8的特性
  • echarts花样作死的坑
  • Js基础知识(一) - 变量
  • maven工程打包jar以及java jar命令的classpath使用
  • PhantomJS 安装
  • ucore操作系统实验笔记 - 重新理解中断
  • 给初学者:JavaScript 中数组操作注意点
  • 浅谈Golang中select的用法
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 我这样减少了26.5M Java内存!
  • 由插件封装引出的一丢丢思考
  • 字符串匹配基础上
  • HanLP分词命名实体提取详解
  • 积累各种好的链接
  • 交换综合实验一
  • #ifdef 的技巧用法
  • #Ubuntu(修改root信息)
  • (js)循环条件满足时终止循环
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (一) storm的集群安装与配置
  • (转) Android中ViewStub组件使用
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转载)虚函数剖析
  • ... 是什么 ?... 有什么用处?
  • .naturalWidth 和naturalHeight属性,
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [autojs]逍遥模拟器和vscode对接
  • [AX]AX2012 AIF(四):文档服务应用实例
  • [BUG] Authentication Error
  • [bzoj 3534][Sdoi2014] 重建
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C#小技巧]如何捕捉上升沿和下降沿
  • [C++]——带你学习类和对象
  • [C语言]——分支和循环(4)
  • [DM复习]Apriori算法-国会投票记录关联规则挖掘(上)
  • [Google Guava] 2.1-不可变集合