আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে ক্যারেক্টারগুলোর একটি অ্যারে অফ অ্যারে এবং دوم আর্গুমেন্ট হিসেবে একটি স্ট্রিং নেবে।
ফাংশনটি বের করবে যে ম্যাট্রিক্সে এমন ক্যারেক্টার আছে কিনা যাদের নন-রিপিটিং কম্বিনেশন দিয়ে دوم আর্গুমেন্টে দেওয়া স্ট্রিংটি তৈরি করা যায়।
যদি এমন কম্বিনেশন থাকে তবে ফাংশনটি true রিটার্ন করবে, অন্যথায় false।
উদাহরণস্বরূপ:
যদি ইনপুট অ্যারে এবং স্ট্রিং হয়:
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