`
hcx2013
  • 浏览: 88949 次
社区版块
存档分类
最新评论

Word Search

 
阅读更多

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.

For example,
Given board =

[
  ["ABCE"],
  ["SFCS"],
  ["ADEE"]
]

word = "ABCCED", -> returns true,
word = "SEE", -> returns true,
word = "ABCB", -> returns false.

 

public class Solution {
    public boolean exist(char[][] board, String word) {
        int rows = board.length;
        int cols = board[0].length;
        boolean[][] visit = new boolean[rows][cols];
        for (int i = 0; i < rows; i++) {
        	for (int j = 0; j < cols; j++) {
        		if (dfs(board, word, 0, i, j, visit)) {
        			return true;
        		}
        	}
        }
        return false;
    }

	private boolean dfs(char[][] board, String word, int cnt, int rowindex, int colindex,
			boolean[][] visit) {
		if (cnt == word.length()) {
			return true;
		}
		if (rowindex < 0 || colindex < 0 || rowindex >= board.length || colindex >= board[0].length) {
			return false;
		}
		if (visit[rowindex][colindex])  {
			return false;
		}
		if (board[rowindex][colindex] != word.charAt(cnt)) {
			return false;
		}
		visit[rowindex][colindex] = true;
		boolean res = (dfs(board, word, cnt+1, rowindex+1, colindex, visit)
				|| dfs(board, word, cnt+1, rowindex, colindex+1, visit)
				|| dfs(board, word, cnt+1, rowindex-1, colindex, visit)
				|| dfs(board, word, cnt+1, rowindex, colindex-1, visit));
		visit[rowindex][colindex] = false;
		return res;
	}
}

 

0
0
分享到:
评论

相关推荐

    word search

    【标题】"word search"指的是在大量文本中查找并替换特定单词或短语的功能,它在IT行业中常常被用于文档处理和数据清洗。这个工具帮助用户高效地批量更改文本内容,节省了手动操作的时间和精力。 【描述】"用于文本...

    word search puzzle

    《Word Search Puzzle: 探索字符串匹配的魅力》 在信息技术领域,我们经常遇到各种各样的问题,其中之一就是字符串匹配。这个话题与我们的日常生活息息相关,比如搜索引擎如何快速找到我们输入的关键字,或者在文本...

    WordSearch.zip

    WordSearch.zip 文件看起来是一个压缩包,里面包含了一个名为 "WordSearch" 的文件。根据文件名推测,这可能是一个关于单词搜索谜题或者相关的文本处理工具。在IT领域,单词搜索通常与编程、文本分析和数据处理相关...

    WordSearch

    This utility as designed to aid in the generation of a word search puzzle, which can be very time consuming to the puzzle creator from the point of layout and then finally randomly filling in the ...

    WordSearch_java_

    标题“WordSearch_java_”指的是一个使用Java编程语言实现的英文单词搜索程序。这个程序可能是一个简单的命令行应用,也可能包含图形用户界面,用于在用户提供的词库中查找指定的单词。下面将详细讨论Java编程语言、...

    WordSearch.java

    WordSearch.java

    wordsearch.py

    wordsearch.py

    wordsearch.exe

    wordsearch.exe

    Unity3d Word Search Cookies 3.5 英文单词拼写益智小游戏源码

    本项目"Word Search Cookies 3.5"是一个基于Unity3D的英文单词拼写益智小游戏,旨在帮助玩家在娱乐中提升英语词汇量。 首先,我们要理解C#语言在Unity中的角色。C#是Unity的主要编程语言,它允许开发者通过编写代码...

    C语言单词匹配矩阵- Word Search Puzzle

    在本项目中,我们探讨的是一个使用C语言编写的Word Search Puzzle游戏。这个游戏是一个经典的单词查找挑战,它涉及到了编程中的几个关键知识点,包括字符串处理、数组操作、随机数生成以及用户交互等。 首先,我们...

    WordSearch_java_源码.zip

    标题中的"WordSearch_java_源码.zip"表明这是一个关于Java编程的项目,具体实现了一个单词搜索(WordSearch)的功能。通常,这样的项目可能是一个简单的文本游戏,用户可以在一个给定的字母网格中寻找隐藏的单词。这...

    Wordsearch-Solver-Python:简单的Wordsearch解决Python脚本

    Wordsearch解算器Python 首先,它要求一个包含单词搜索的文本文件。 然后,它将数据导入到数组中。 用户输入他们要查找的单词,然后打印单词搜索并突出显示该单词,因此您可以清楚地看到其位置。 查找单词的算法...

    Word Search Game in Python Free Source Code.zip

    "Word Search Game in Python Free Source Code.zip" 提供了一个实现此类游戏的完整源代码,对于学习Python编程或者想要开发类似游戏的开发者来说非常有价值。 首先,我们要了解游戏的基本运作机制。文字搜索游戏...

    WordSearch Creator-开源

    【WordSearch Creator 开源项目详解】 WordSearch Creator 是一个开源的程序,用于生成纵横字谜游戏,也称为单词搜索游戏。这种类型的游戏通常在教育环境中使用,帮助学习者提高词汇量和拼写能力,同时也是一种休闲...

    wordsearch:单词搜索生成器

    在信息技术领域,游戏开发是一个重要的分支,而“wordsearch”是一种常见的文字游戏,尤其在教育领域中广泛使用,用于帮助孩子们学习新词汇。本项目"wordsearch:单词搜索生成器"是用JavaScript编程语言实现的一个...

    Word Search Creator / Solver:用于创建、解决和显示单词搜索难题的类-matlab开发

    5. **文件结构**:`WordSearch.mltbx` 是一个 MATLAB 工具箱文件,它包含了这个工具的所有源代码、数据和其他资源。MATLAB 用户可以通过加载这个文件来访问和使用 Word Search Creator / Solver 的功能。`WordSearch...

    词搜索谜题「Word Search Puzzle」-crx插件

    Word Search Puzzle是一款有趣且易于使用的益智游戏,适用于您的浏览器。 该游戏的目标是在屏幕上制作带有随机字母的单词。 只需在您认为可能有一个有意义的词的地方画一条线即可。 如果是正确的猜测,则将标记该...

    wordsearch:单词搜索益智游戏

    词搜索单词搜索益智游戏这是一个简单的Word搜索难题示例游戏,适用于iOS平台。 我作为最后的工作面试来做的,所以这只是一个示例,例如,字母网格是固定的,没有任何自动生成。 它可以在iPhone和iPad上使用。 版权...

    wordsearch_generator

    《Python编程:wordsearch_generator深度解析》 在Python编程领域,`wordsearch_generator`是一个用于创建填字游戏(单词搜索)的工具,它允许开发者自定义游戏的大小、方向以及包含的单词。这个项目通常被用作教育...

Global site tag (gtag.js) - Google Analytics