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

JavaScript में दो स्ट्रिंग्स के बीच सबसे लंबी सामान्य सन्निकट उपस्ट्रिंग ढूंढना


हमें एक JavaScript फ़ंक्शन लिखना है जो दो स्ट्रिंग्स लेता है। आइए उन्हें str1 और str2 कहते हैं। फ़ंक्शन को फिर दोनों इनपुट स्ट्रिंग्स के लिए सामान्य सबसे लंबी सन्निकट स्ट्रिंग ढूंढनी चाहिए और उस सामान्य स्ट्रिंग को वापस करना चाहिए।

उदाहरण के लिए -

यदि इनपुट स्ट्रिंग्स हैं -

const str1 = 'ABABC';
const str2 = 'BABCA';

तो आउटपुट स्ट्रिंग होनी चाहिए -

const output = 'BABC';

उदाहरण

निम्नलिखित कोड देखें:

const str1 = 'ABABC';
const str2 = 'BABCA';

const findCommon = (str1 = '', str2 = '') => {
  const s1 = [...str1];
  const s2 = [...str2];
  const arr = Array(s2.length + 1).fill(null).map(() => {
    return Array(s1.length + 1).fill(null);
  });
  for (let j = 0; j <= s1.length; j += 1) {
    arr[0][j] = 0;
  }
  for (let i = 0; i <= s2.length; i += 1) {
    arr[i][0] = 0;
  }
  let len = 0;
  let col = 0;
  let row = 0;
  for (let i = 1; i <= s2.length; i += 1) {
    for (let j = 1; j <= s1.length; j += 1) {
      if (s1[j - 1] === s2[i - 1]) {
        arr[i][j] = arr[i - 1][j - 1] + 1;
      } else {
        arr[i][j] = 0;
      }
      if (arr[i][j] > len) {
        len = arr[i][j];
        col = j;
        row = i;
      }
    }
  }
  if (len === 0) {
    return '';
  }
  let res = '';
  while (arr[row][col] > 0) {
    res = s1[col - 1] + res;
    row -= 1;
    col -= 1;
  }
  return res;
};

console.log(findCommon(str1, str2));

आउटपुट

कंसोल पर निम्नलिखित आउटपुट प्राप्त होगा:

BABC

  1. - जावास्क्रिप्ट में दो स्ट्रिंग्स के बीच असामान्य अक्षरों को ढूंढना और लौटाना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो स्ट्रिंग्स लेता है। हमारा फ़ंक्शन उन अक्षरों की एक नई स्ट्रिंग लौटाएगा जो दोनों स्ट्रिंग्स के लिए सामान्य नहीं हैं।उदाहरणनिम्न कोड देखें:const str1 = xyab; const str2 = xzca; const findUncommon = (str1 = , str2 = ) => {    const res = [

  1. - JavaScript में सबसे लंबी लगातार जोड़ श्रृंखला ढूंढना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं के जोड़े की एक सरणी arr को एकमात्र आर्गुमेंट के रूप में लेता है। प्रत्येक जोड़े में, पहली संख्या हमेशा दूसरी संख्या से छोटी होती है।अब, हम एक जोड़ी (c, d) को परिभाषित करते हैं जो दूसरी जोड़ी (a, b) का अनुसरण कर सकती है यदि और केवल यदि b < c। इस त

  1. - पायथन में दो से अधिक स्ट्रिंग्स से सबसे लंबी सामान्य सबस्ट्रिंग कैसे खोजें

    लॉन्गेस्ट कॉमन सबस्ट्रिंग एल्गोरिदम के सामान्य डायनामिक प्रोग्रामिंग कार्यान्वयन O(nm) समय में चलते हैं। लॉन्गेस्ट कॉमन सबस्ट्रिंग एल्गोरिदम का निम्नलिखित कार्यान्वयन है: उदाहरण longest: longest = m[x][y] x_longest = x else: m[x][y