কম্পিউটার

জাভাস্ক্রিপ্ট ব্যবহার করে গোলকধাঁধা শেষ করার পথ খোঁজা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা N * N অর্ডারের একটি ম্যাট্রিক্সে নেয়। ম্যাট্রিক্সের দেয়ালগুলি 'W' দ্বারা চিহ্নিত করা হয়েছে এবং খালি অবস্থানগুলি '_' দ্বারা চিহ্নিত করা হয়েছে

আমরা যে কোন সময়ে চার দিকের যে কোন দিকে যেতে পারি। আমাদের ফাংশন সত্য হওয়া উচিত যদি আমরা শেষ [N - 1, N - 1] পর্যন্ত পৌঁছতে পারি, অন্যথায় মিথ্যা৷

উদাহরণ

নিম্নলিখিত কোড -

const maze = [
   ['_', 'W', 'W', 'W'],
   ['_', 'W', 'W', 'W'],
   ['W', '_', '_', 'W'],
   ['W', 'W', 'W', '_']
];
const canFindPath = (m = []) => {
   let h = m.length;
   let w = m[0].length;
   let queue = [[0, 0]];
   let mark = (xx, yy) => {
      [[1, 0], [-1, 0], [0, 1], [0, -1], [0, 0]].map(p => {
         let [x, y] = [p[0]+xx, p[1]+yy];
         if (0 <= x && x < w) {
            if (0 <= y && y < h) {
               if (m[y][x] === '.') {
                  m[y][x] = '#';
                  queue.push([x, y]);
               }
            }
         }
      });
   };
   do {
      let p = queue.shift();
      mark(...p);
   } while (queue.length);
   return m[h-1][w-1] !== '.';
};
console.log(canFindPath(maze));

আউটপুট

true

  1. জাভাস্ক্রিপ্ট ব্যবহার করে অন্য স্ট্রিং-এ একটি অক্ষরের দীর্ঘতম ধারাবাহিক চেহারা খোঁজা

  2. জাভাস্ক্রিপ্ট ব্যবহার করে একটি পরিসরের মধ্যে একটি সংখ্যা দ্বারা বিভাজ্য সংখ্যার গণনা খুঁজে বের করা

  3. জাভাস্ক্রিপ্ট ব্যবহার করে বর্ণমালায় একটি অক্ষরের 1-ভিত্তিক সূচক খোঁজা

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি অ্যারেতে সবচেয়ে ঘন ঘন শব্দ(গুলি) খোঁজা