Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में मैट्रिक्स में शब्द ढूंढना (Word Search in Matrix)


हमें एक JavaScript फ़ंक्शन लिखना है जो पहले तर्क के रूप में वर्णों की सरणियों की एक सरणी और दूसरे तर्क के रूप में एक स्ट्रिंग लेता है।

फ़ंक्शन को यह ढूंढना चाहिए कि क्या मैट्रिक्स में ऐसे वर्ण मौजूद हैं, जिनका गैर-दोहराव वाला संयोजन फ़ंक्शन को दूसरे तर्क के रूप में प्रदान की गई स्ट्रिंग को उत्पन्न करता है।

यदि ऐसा कोई संयोजन मौजूद है तो हमारा फ़ंक्शन 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', 'w'],
  ['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. JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स

    const ES2015 (ES6) में पेश किया गया एक ब्लॉक-स्कोप्ड वेरिएबल डिक्लेरेशन है जो रीअसाइनमेंट को रोकता है। यह आधुनिक JavaScript में डिफ़ॉल्ट विकल्प होना चाहिए जब रीअसाइनमेंट की आवश्यकता न हो। उदाहरण { try { a = 44; // TypeError: Assignment to constant variable } catch (e

  1. JavaScript में Const vs Let JavaScript में Const vs Let

    Const और let को ES2015 में ब्लॉक-स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि let का उपयोग करके घोषित वेरिएबल को पुनः असाइन किया जा सकता है, const का उपयोग करके घोषित वेरिएबल को पुनः असाइन नहीं किया जा सकता। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me

  1. - JavaScript में नंबर्स और ऑपरेंड्स को शब्दों में बदलना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो किसी गणितीय ऑपरेशन की स्ट्रिंग लेता है और उसका शाब्दिक शब्दांकन लौटाता है।उदाहरणनिम्नलिखित कोड है − { const o = { + : Plus, - : Minus, * : Times, / : Divided By, ** : To The Power Of, = : Equals, != : Does Not Equal, } const n = { 1 : One, 2 : Two,