穷举vs暴搜vs深搜vs回溯vs剪枝系列一>单词搜索

server/2025/2/4 0:21:09/

题解如下

  • 题目:
  • 解析
    • 决策树:
    • 代码设计:
  • 代码:

题目:

这里是引用

解析

决策树:

在这里插入图片描述

代码设计:

这里是引用

代码:

class Solution {private boolean[][] visit;//标记使用过的数据int m,n;//行,列char[] word;public boolean exist(char[][] board, String _word) {m = board.length;n = board[0].length;visit = new boolean[m][n];word = _word.toCharArray();for(int i = 0; i < m; i++)for(int j = 0; j < n; j++){if(word[0] == board[i][j]){visit[i][j] = true;if(dfs(board,i,j,1)) return true;visit[i][j] = false;//恢复现场}}return false;    }int[] dx = {0,0,-1,1};int[] dy = {-1,1,0,0};boolean dfs(char[][]board, int i, int j, int pos){if(pos == word.length){return true;//搜索成功}for(int k = 0; k < 4; k++) {int x = i + dx[k]; int y = j + dy[k];if(x >= 0 && x < m && y >= 0 && y < n && !visit[x][y] && word[pos] == board[x][y]){visit[x][y] = true;if(dfs(board,x,y,pos+1)) return true;visit[x][y] = false;//恢复现场}}return false;}
}

http://www.ppmy.cn/server/164751.html

相关文章

java基础概念63-多线程

一、线程VS进程 1-1、进程 进程是程序的基本执行实体。 每一个正在运行的软件都是一个进程。 一个进程可以包含多个线程。 1-2、线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。 简单理解&#xff1a;应用软件中互相…

自动化、信息化后面是智能化,智能化后面是?

自动化、信息化、智能化是技术进步的逐步发展过程&#xff0c;它们反映了我们在提升效率、优化决策、提高能力方面的持续追求。关于智能化后面是什么&#xff0c;可以从不同角度来探讨未来的发展趋势。自主化&#xff1a;智能化的进一步发展可能会走向自主化。自主系统能在没有…

设计模式-创建型模式-抽象工厂模式

抽象工厂模式简介 抽象工厂模式 &#xff1a; Abstract Factory Pattern 是一种创建型模式。 核心 &#xff1a; “族”的概念&#xff0c;一组具有相同风格或主题的对象&#xff0c;通过同一个工厂接口来创建这个产品族中的对象。 感觉 &#xff1a; 就是对工厂方法模式的一种…

功防世界 Web_php_include

<?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) {$pagestr_replace("php://", "", $page); } include($page); ?> 代码审计 show_source(__FILE__);&#xff1a; //输出当前文件…

基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发

基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发 摘要 随着人工智能技术的不断发展&#xff0c;语音识别在会议记录、语音笔记等场景中得到了广泛应用。本文介绍了一个基于Python和阿里云百炼大模型的语音识别与文本保存工具的开发过程。该工具能够高效地识别东…

Pdf to forms如何实现?如何在3分钟内将PDF自动转换为Microsoft Forms

通过将杂乱的文件转换为标准化表单&#xff0c;简化数据收集——无需手动操作。 问题&#xff1a;为什么非标准文件会破坏您的工作流程 每天&#xff0c;企业和教育工作者都淹没在非结构化数据中&#xff1a;PDF报告、CSV导出或保存为TXT文件的手写笔记。手动将这些数据复制到…

宝塔安装完redis 如何访问

1&#xff0c;配置bind和密码 我前面在宝塔中安装完成redis&#xff0c;在我的电脑上访问。发现连接不上去。 2&#xff0c;手动杀死一次redis在重启 #执行一下命令 ps -ef | grep 6379 强制杀死进程 125117 是进程号 #杀死进程 kill -9 125117 3&#xff0c;重启redis 重启…

ResNet--深度学习中的革命性网络架构

一、引言 在深度学习的研究和应用中&#xff0c;网络架构的设计始终是一个关键话题。随着计算能力和大数据的不断提升&#xff0c;深度神经网络逐渐成为解决复杂任务的主流方法。然而&#xff0c;随着网络层数的增加&#xff0c;训练深度神经网络往往面临梯度消失或梯度爆炸的…