কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে মেজের শেষে পৌঁছানোর পথ খুঁজে বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা N * N অর্ডারের একটি ম্যাট্রিক্স নেবে। ম্যাট্রিক্সে দেওয়ালগুলো 'W' দিয়ে চিহ্নিত এবং খালি পজিশনগুলো '_' দিয়ে চিহ্নিত। আমরা যেকোনো সময় চার দিকেই যেতে পারি। ফাংশনটি true ফেরত দেবে যদি আমরা শেষে [N - 1, N - 1] পৌঁছাতে পারি, অন্যথায় false।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

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. জাভাস্ক্রিপ্টে স্ট্রিংয়ে একটি ক্যারেক্টারের সর্বোচ্চ কনsekutিভ আবির্ভাব গণনা

  2. জাভাস্ক্রিপ্টে রেঞ্জের মধ্যে নির্দিষ্ট সংখ্যা দিয়ে বিভাজ্য সংখ্যার গণনা

  3. জাভাস্ক্রিপ্টে ইংরেজি অক্ষরের ১-ভিত্তিক ইনডেক্স বের করা

  4. জাভাস্ক্রিপ্টে অ্যারে থেকে সবচেয়ে ज्यादा ফ্রিকোয়েন্সি वाले শব্দগুলো খুঁজে বের করা