Recursive Hard Problems Using Javascript

Q. How to find a way to Home / Source to destination using recurssion

“XXXXXEX”,
“X X”,

“XSXXXXX”

“XXXXXEX”,
“X X X”,
“X X X”,
“X XXX X”,
“X X”,
“XSXXXXXX”

From these 2 patterns find out the path from Source to destination


This content originally appeared on DEV Community and was authored by Ashutosh Sarangi

Q. How to find a way to Home / Source to destination using recurssion

"XXXXXEX",
"X X",

"XSXXXXX"

"XXXXXEX",
"X X X",
"X X X",
"X XXX X",
"X X",
"XSXXXXXX"

From these 2 patterns find out the path from Source to destination

// const maze = [
//     "XXXXXEX",
//     "X     X",
//     "XSXXXXX"
//     ];
const maze = [
    "XXXXXEX",
    "X   X X",
    "X   X X",
    "X XXX X",
    "X     X",
    "XSXXXXXX"
    ];
const dir = [
    [-1, 0],
    [1, 0],
    [0, -1],
    [0, 1]
    ];

visited = {};

path = [];

const findPath = (row, col) => {
    //1. out of bound condition
    if (row < 0 || row >= maze.length || col < 0 || col >= maze[0].length) {
        return false;
    }

    //2. Already visited 
    if (visited[`${row}_${col}`]) {
        return false;
    }


    // found road block 
    if (maze[row][col] === 'X') {
        return false;
    }

    // found the End

    if (maze[row][col] === 'E') {
         path.push(`${row}_${col}`);
        return true;
    }

    path.push(`${row}_${col}`);
    visited[`${row}_${col}`] = true;

    for (let item of dir) {
        const [x, y] = item;
        if (findPath(row+x, col+y)) {
            return true;
        }
    }
    path.pop();
    return false;
};

findPath(5,1);
// findPath(2,1);
console.log(path)

/*
node /tmp/n2GEk3kzOo.js
[
  '5_1', '4_1', '4_2',
  '4_3', '4_4', '4_5',
  '3_5', '2_5', '1_5',
  '0_5'
]
*/


This content originally appeared on DEV Community and was authored by Ashutosh Sarangi


Print Share Comment Cite Upload Translate Updates
APA

Ashutosh Sarangi | Sciencx (2024-08-16T16:20:25+00:00) Recursive Hard Problems Using Javascript. Retrieved from https://www.scien.cx/2024/08/16/recursive-hard-problems-using-javascript/

MLA
" » Recursive Hard Problems Using Javascript." Ashutosh Sarangi | Sciencx - Friday August 16, 2024, https://www.scien.cx/2024/08/16/recursive-hard-problems-using-javascript/
HARVARD
Ashutosh Sarangi | Sciencx Friday August 16, 2024 » Recursive Hard Problems Using Javascript., viewed ,<https://www.scien.cx/2024/08/16/recursive-hard-problems-using-javascript/>
VANCOUVER
Ashutosh Sarangi | Sciencx - » Recursive Hard Problems Using Javascript. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/08/16/recursive-hard-problems-using-javascript/
CHICAGO
" » Recursive Hard Problems Using Javascript." Ashutosh Sarangi | Sciencx - Accessed . https://www.scien.cx/2024/08/16/recursive-hard-problems-using-javascript/
IEEE
" » Recursive Hard Problems Using Javascript." Ashutosh Sarangi | Sciencx [Online]. Available: https://www.scien.cx/2024/08/16/recursive-hard-problems-using-javascript/. [Accessed: ]
rf:citation
» Recursive Hard Problems Using Javascript | Ashutosh Sarangi | Sciencx | https://www.scien.cx/2024/08/16/recursive-hard-problems-using-javascript/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.