尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Java学习手册:(数据结构与算法-数组)Word Search(leetcode79)
题目给定一个二维平面的字母和一个单词看是否可以在这个二维平面上找到该单词。其中找到这个单词的规则是从一个字母出发可以横向或者纵向连接二维平面上的其他字母。同一个位置的字母只能使用一次。输入1二维数组{ {A,B,C,E}, {S,F,C,S}, {A,D,E,E}}2输入/输出“ABCCED”→true“SEE”→true“ABCB”→false思路递归代码如下package com.haobi; public class WordSearch { private static int m, n; private static int d[][] {{-1,0},{0,1},{1,0},{0,-1}}; private static boolean visited[][]; private static boolean inArea(int x, int y) { return x0 xm y0 yn; } public static void main(String[] args) { char[][] arr { {A,B,C,E}, {S,F,C,S}, {A,D,E,E}}; String s1 ABCCED; String s2 SEE; String s3 ABCB; System.out.println(exist(arr, s1)); System.out.println(exist(arr, s2)); System.out.println(exist(arr, s3)); } /** * 递归函数 * 从board[startx][starty]开始寻找word[index...word.size()] * param board * param word * param index * param startx * param starty * return */ private static boolean searchWord(char[][] board, String word, int index, int startx, int starty) { //判断字符串中最后一个元素是否在二维数组中 if(index word.length()-1) { return board[startx][starty] word.charAt(index); } if(board[startx][starty] word.charAt(index)) { visited[startx][starty] true; //从startx,starty出发向四个方向寻找 for(int i0;i4;i) { int newx startx d[i][0]; int newy starty d[i][1]; if(inArea(newx, newy) !visited[newx][newy] searchWord(board, word, index1, newx, newy)) { return true; } } visited[startx][starty] false; } return false; } public static boolean exist(char[][] board, String word) { m board.length; n board[0].length; visited new boolean [m][n]; for(int i0;im;i) { for(int j0;jn;j) { if(searchWord(board, word, 0, i, j)) { return true; } } } return false; } }程序输出结果如下truetruefalse
RELATED

相关推荐

Matlab仿真实现垂直泊车路径规划算法解析

Matlab仿真实现垂直泊车路径规划算法解析

1. 垂直泊车路径规划与自动泊车仿真概述垂直泊车是自动泊车系统(APS)中最具挑战性的场景之一,需要车辆在有限空间内完成精确的横向移动和角度调整。Matlab/Simulink因其强大的数值计算和可视化能力,成为验证泊车算法的首选工具。我在汽车电子行业参与过多…

📅 2026/8/24 14:51:50
学习_009_Hadoop大数据实战开发

学习_009_Hadoop大数据实战开发

课程说明项内容课程类型视屏课程内容类型Hadoop课程名称Hadoop大数据实战开发地址https://edu.csdn.net/course/detail/24831时长2400费用免费学习心得 看了那么多的Hadoop课程,除了linux和hadoop安装配置外,内容基本都集中在HDFS和MapReduce上&#xff…

📅 2026/8/24 14:51:50
NBM5100A与MK64FN1M0VDC12的低功耗物联网设计优化

NBM5100A与MK64FN1M0VDC12的低功耗物联网设计优化

1. NBM5100A与MK64FN1M0VDC12的协同设计背景 在物联网设备和便携式电子产品的设计中,工程师们长期面临一个核心矛盾:纽扣电池等小型电源的能量密度有限,而现代传感器和无线通信模块却需要瞬时大电流支持。以典型的CR2032纽扣电池为例&#xf…

📅 2026/8/24 14:51:51
MORE NEWS

更多资讯

📰

谷歌浏览器崩溃排查:闪退、卡死、网页打不开的修复指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

免U盘安装Ubuntu与Deepin双系统:不刻盘、不写代码的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

计算机硬件笔试试题PDF解析、OCR识别与题库构建

简介:《计算机硬件笔试试题.pdf》面向准备计算机硬件基础笔试、等级考试或课程期末复习的学生与求职者,覆盖CPU主频与外频、超频与封装、内存与缓存、DDR规范、硬盘接口与磁道、软盘写保护、显示器刷新率、主板芯片、BIOS与操作系统等核心考点。资源内含…

📰

给需求环节生成工单的 Agent,TaoToken 的 Key 从官网领

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Wagmi Tempo 事件监听实战:使用 `reward.watchRewardRecipientSet` 跟踪奖励接收者变更

Wagmi Tempo 事件监听实战:使用 reward.watchRewardRecipientSet 跟踪奖励接收者变更 【免费下载链接】wagmi Reactive primitives for Ethereum apps 项目地址: https://gitcode.com/GitHub_Trending/wa/wagmi 本文讲解 Wagmi 框架中 Tempo 链上 reward.wat…

📰

MySQL并发控制实战:悲观锁、乐观锁与库存超卖防重

库存扣成负数这件事,在电商、票务、积分兑换这类场景里几乎绕不过去。我第一次碰到是在一个限时抢购活动上,商品总共 200 件,活动结束后账面卖出 213 件,事后查日志,没有任何一条 SQL 报错,每一笔扣减都是&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬