কম্পিউটার

জাভাস্ক্রিপ্টে ম্যাট্রিক্সে শব্দ খোঁজা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে অক্ষরের অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে একটি স্ট্রিং নেয়৷

ফাংশনটি ম্যাট্রিক্সে অক্ষর আছে কিনা তা খুঁজে বের করা উচিত, অ-পুনরাবৃত্ত সংমিশ্রণ যা ফাংশনে দ্বিতীয় আর্গুমেন্ট হিসাবে প্রদত্ত স্ট্রিং প্রদান করে।

যদি এই ধরনের একটি সংমিশ্রণ বিদ্যমান থাকে, তাহলে আমাদের ফাংশন সত্য, অন্যথায় মিথ্যা প্রত্যাবর্তন করা উচিত।

যেমন −

যদি ইনপুট অ্যারে এবং স্ট্রিং হয় −

const arr = [
   ['s', 'd', 'k', 'e'],
   ['j', 'm', 'o', 'w'],
   ['y', 'n', 'l']
];
const str = 'don';

তারপর আউটপুট −

হওয়া উচিত
const output = false;

উদাহরণ

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

const arr = [
   ['s', 'd', 'k', 'e'],
   ['j', 'm', 'o', 'width'],
   ['y', 'n', 'l']
];
const str = 'don';
const containsWord = (arr = [], str = '') => {
   if (arr.length === 0){
      return false;
   };
   const height = arr.length;
   const width = arr[0].length;
   const dirs = [[-1, 0], [0, 1], [1, 0], [0, -1]];
   const tryWord = (x, y, k) => {
      if (arr[x][y] !== str[k]) return false;
      if (k === str.length - 1) return true;
      arr[x][y] = '*';
      for (const [dx, dy] of dirs) {
         const i = x + dx;
         const j = y + dy;
         if (i >= 0 && i < height && j >= 0 && j < width) {
            if (tryWord(i, j, k + 1)) return true;
         }
      }
      arr[x][y] = str[k]; // reset
      return false;
   };
   for (let i = 0; i < height; i++) {
      for (let j = 0; j < width; j++) {
         if (tryWord(i, j, 0)) return true;
      }
   }
   return false;
};
console.log(containsWord(arr, str));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

false

  1. জাভাস্ক্রিপ্ট কনস্ট

  2. জাভাস্ক্রিপ্টে কনস্ট বনাম চলুন।

  3. জাভাস্ক্রিপ্টে ব্যবধানের অ্যারেগুলির ছেদ খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে শব্দের সংখ্যা এবং অপারেন্ড