leetcode------Word Search

标题:Word Search
通过率:20.0%
难度:中等

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.

 

需要尝试从每一个位置起开始遍历,每次向四个方向开始遍历,如果四个方向都不满足时要将走过的路径回复,边界问题看代码:

用一个index记录查了多少个了。

迭代算法依然没有知道突破口:

 1 public class Solution {
 2     private int m,n;
 3     public boolean exist(char[][] board, String word) {
 4         m=board.length;
 5         n=board[0].length;
 6         boolean [][] visted=new boolean[m][n];
 7         for(int i=0;i<m;i++)
 8         for(int j=0;j<n;j++){
 9             if(dfs(board,word,0,i,j,visted))
10                 return true;
11         }
12         return false;
13     }
14     public boolean dfs(char[][] board, String word,int index,int startx,int starty,boolean [][] visted){
15         if(index==word.length())return true;
16         if(startx<0||startx>=m||starty<0||starty>=n)return false;
17         if(visted[startx][starty])return false;
18         if(board[startx][starty]!=word.charAt(index))return false;
19         visted[startx][starty]=true;
20         boolean res=dfs(board,word,index+1,startx+1,starty,visted)||dfs(board,word,index+1,startx-1,starty,visted)||dfs(board,word,index+1,startx,starty+1,visted)||dfs(board,word,index+1,startx,starty-1,visted);
21         visted[startx][starty]=false;
22         return res;
23     }
24 }

 

转载于:https://www.cnblogs.com/pkuYang/p/4349936.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阈值PSI代码

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

离散化求RECT1

本文转载至点击打开链接 #include<stdio.h> struct node{int x1,y1,x2,y2,c; }; struct node s[1010]; int px[2010],py[2010],ux[10010],uy[10010],p[10000]; short a[2010][2010],c[2510]; int main(){int i,j,k,m,n; scanf("%d%d%d",&n,&m,&k);…

对IplImage 结构体的理解

1 typedef struct _IplImage 2 { 3 int nSize; /* IplImage大小 */ 4 int ID; /* 版本 (0)*/ 5 int nChannels; /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */ 6 int alphaChannel; /* 被OpenCV忽略 */ …

【 Grey Hack 】万金油脚本:原地提权工具

目录脚本源码用法效果及示例版本&#xff1a;Grey Hack v0.7.3618 - Alpha 脚本源码 metaxploit include_lib("/lib/metaxploit.so") if not metaxploit thenmetaxploit include_lib(current_path "/metaxploit.so") end if if not metaxploit then ex…

可落地的DDD(7)-战术设计上的一些误区

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

android之PackageManager简单介绍

PackageManager相关 本类API是对全部基于载入信息的数据结构的封装&#xff0c;包含下面功能&#xff1a; 安装&#xff0c;卸载应用查询permission相关信息 查询Application相关信息(application&#xff0c;activity&#xff0c;receiver&#xff0c;service&#xff0c;prov…

【 Grey Hack 】万金油脚本:常见端口修改Password

目录脚本源码用法效果及示例版本&#xff1a;Grey Hack v0.7.3618 - Alpha 适用于SSH (22) 端口、FTP (21) 端口、HTTP (80) 端口、SMTP (25) 端口及3306/3307 端口等。 脚本源码 if params.len ! 2 or params[0] "-h" or params[0] "--help" then exi…

IPMI远程管理一点记录

http://www.07net01.com/storage_networking/IPMIyuanchengguanliyidianjilu_53093_1357975254.html转载于:https://www.cnblogs.com/diyunpeng/p/7001649.html

mysql INFORMATION_SCHEMA COLUMNS 解释

参考地址&#xff1a; http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html#columns-table标准名称 SHOW名称 注释 TABLE_CATALOG 表目录 TABLE_SCHEMA 表架构 TABLE_NAME 表名 COLUMN_NAME Field 列名 ORDINAL_POSITION 列位置…

JavaScript中的原型和对象机制

1 对象相关的一些语言特性1.1 一切皆为对象JavaScript里所有的东西都是对象. 对象是属性的集合. 数字, 字符串, 布尔值等原始值是"伪对象", 它们同样拥有属性, 但是是在栈上分配并按值传递. 而其他的对象是堆上分配并按引用传递.一个很重要的概念是, 函数也是对象, 能…

【 Grey Hack 】记一次被黑经历

目录又被搞了版本&#xff1a;Grey Hack v0.7.3618 - Alpha 胆大包天的我黑进游戏内shop的IP后&#xff0c;顺着其上面的日志溯源到不少疑似其他玩家租的服务器&#xff0c;暂时没什么进展 不久后回到桌面才发现自己已经被黑入了 随后我打开日志查看记录 只看清是从我的1222…

iec61850采样协议(9-1、9-2)解析(一)

1 /*2 *3 * iec61850sv_protocol.h4 *5 * iec61850采样协议&#xff08;9-1、9-2&#xff09;解析。6 *7 *8 * 本代码支持win32平台和linux平台。9 *10 * Copyright (c)2012,lizhi<ibox>11 *12 * 2012-10-10 V1.0 lizhi<QQ:252240557,msn:ddgooohotmail.co…

C#即时释放内存

using System;using System.Diagnostics;using System.Runtime.InteropServices;[DllImport("kernel32.dll")]private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);/// <summary>/// 即时释放内存/// </summar…

【 Grey Hack 】加强版nmap

目录probe使用方法效果routerpcscan使用方法效果版本&#xff1a;Grey Hack v0.7.3618 - Alpha probe if params.len ! 1 or params[0] "-h" or params[0] "--help" then exit(command_info("<b>probe [IP]</b>")) if not is_va…

文档容器iOS网络编程-iCloud文档存储编程实例

在本文中,我们主要绍介文档容器的容内,自我感觉有个不错的建议和大家分享下 iCloud文档存储程编对相键值据数存储而言比较复杂&#xff0c;涉及到自定义文档类、取得iCloud文档录目、找查Ubiquity容器中的文档、保存文档和决解文档冲突等容内。 实例&#xff1a;iCloud文档存储…

CSS3之伪元素选择器和伪类选择器

伪类选择器&#xff0c;和一般的DOM中的元素样式不一样&#xff0c;它并不改变任何DOM内容。只是插入了一些修饰类的元素&#xff0c;这些元素对于用户来说是可见的&#xff0c;但是对于DOM来说不可见。伪类的效果可以通过添加一个实际的类来达到。 a:link|a:visited|a:hover|a…

CSS只是进化的一部分

Bert Bos是一位计算机科学家&#xff0c;他也是CSS的创始人之一。在CSS的发展过程中&#xff0c;Bos是最早与Hkon Wium Lie&#xff08;CSS之父&#xff09;合作的人之一。在1996年&#xff0c;他加入了World Wide Web Consortium&#xff08;W3C&#xff09;负责CSS的开发。他…

【 Grey Hack 】WIFI万能钥匙

目录脚本源码使用方法效果版本&#xff1a;Grey Hack v0.7.3618 - Alpha 脚本源码 computer get_shell.host_computer status "Unknown Error." crypto include_lib("/lib/crypto.so") if not crypto thencrypto include_lib(current_path "/cr…

面向对象编程学习5月7日-5月23日 网络直播yii-外企使用最多的PHP框架

每日一贴,今天的内容关键字为面向对象编程学习 课程说明: -------------------------------------------------------------------------------------------------------------- 9天玩转大型php框架Yii&#xff08;即将开始&#xff09;&#xff08;如何加入费免公然讲堂&#…

[BZOJ4008]亚瑟王

Description 小 K 不慎被 LL 邪教洗脑了&#xff0c;洗脑程度深到他甚至想要从亚瑟王邪教中脱坑。 他决定&#xff0c;在脱坑之前&#xff0c;最后再来打一盘亚瑟王。既然是最后一战&#xff0c;就一定要打得漂亮。众所周知&#xff0c;亚瑟王是一个看脸的游戏&#xff0c;技能…