码迷,mamicode.com
首页 > 其他好文 > 详细

回溯迷宫找终点

时间:2019-05-18 00:43:00      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:image   OLE   length   http   图片   fun   als   tin   UNC   

迷宫找出口

技术图片

function isSafe(maze,x,y){
    if(x >= 0 && y >= 0 && x < maze.length && y < maze.length && maze[x][y] !== 0){
        return true
    }
    return false
}

function findPath(maze,solution,x,y){
    if( x === solution.length - 1 && y === solution[0].length - 1){
        solution[x][y] = 1
        return true
    }

    if(isSafe(maze,x,y)){
        solution[x][y] = 1
        if(findPath(maze,solution,x + 1,y)){
            return true
        }
        if(findPath(maze,solution,x, y + 1)){
            return true
        }
        solution[x][y] = 0
    }

    return false
}

function ratInAMaze(maze){
    let solution = []
    for(let i = 0; i < maze.length; i++){
        solution[i] = []
        for(let j = 0; j < maze[0].length; j++){
            solution[i][j] = 0
        }
    }
    
    if(findPath(maze,solution,0,0)){
        return solution
    }

    return 'not solution exsit'
}

const maze = [
    [1, 0, 0, 0],
    [1, 1, 1, 1],
    [0, 0, 1, 0],
    [0, 1, 1, 1]
  ];
  
console.log(ratInAMaze(maze));

回溯迷宫找终点

标签:image   OLE   length   http   图片   fun   als   tin   UNC   

原文地址:https://www.cnblogs.com/pluslius/p/10884222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!