java实现迷宫二(dfs)方法

本文介绍了作者在刷题时遇到的迷宫二问题,使用DFS算法解决并进行了剪枝优化,以避免超时。通过分享代码展示了如何在Java中实现这一过程,适用于解决类似迷宫路径寻找的算法问题。
摘要由CSDN通过智能技术生成

作为大四的老学长了,快毕业的时候才打算参加蓝桥杯。哈哈哈 以前都不敢报名,觉得很难。但是自从对算法的了解后,发现蓝桥杯的一些题目还是挺简单的,这里推荐大家在大一大二的时候报名最好。毕竟大四大家都忙着毕业找工作,没有时间参加比赛的。

接下来聊聊在刷题时遇到的问题。迷宫二问题,是本人在刷计蒜客时遇到的。当时是使用了dfs算法,但是发现总是超时,便去csdn搜索文章,但是发现大部分都是bfs解法,并且java得到解法很少,而且dfs的解法好像也是会超时。于是我就去看了点算法视频,发现了可以进行剪枝的问题。如下是我优化之后的算法,可以运行,不会超时。

import java.util.*;
class Main{
    public static String[] mp = new String[11];
    public static int[][] visit = new int[11][11];;
    public static int n,m,min=20000;
    public static int dx[] = {0,0,1,-1};
    public static int dy[] = {1,-1,0,0};
    public static void main(String [] args){
        Scanner scanner=new Scanner(System.in);
            n=scanner.nextInt();
            m=scanner.nextInt();
            for (int i = 0; i < n; i++) {
             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值