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

JavaScript में सरणी में सबसे लंबा असामान्य उपस्ट्रिंग ढूंढना


सबसीक्वेंस

इस समस्या के उद्देश्य के लिए, हम एक सबसीक्वेंस को एक अनुक्रम के रूप में परिभाषित करते हैं जिसे कुछ अक्षरों को हटाकर बिना शेष तत्वों के क्रम को बदले एक अनुक्रम से प्राप्त किया जा सकता है। कोई भी स्ट्रिंग स्वयं की सबसीक्वेंस होती है और एक खाली स्ट्रिंग किसी भी स्ट्रिंग की सबसीक्वेंस होती है।

समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो स्ट्रिंग्स की एक सरणी को एकमात्र आर्ग्युमेंट के रूप में लेता है। हमारे फ़ंक्शन को उनमें से सबसे लंबी असामान्य सबसीक्वेंस की लंबाई ढूंढनी होगी।

सबसे लंबी असामान्य सबसीक्वेंस से हमारा मतलब है, सरणी में किसी एक स्ट्रिंग की सबसे लंबी सबसीक्वेंस और यह सबसीक्वेंस सरणी में अन्य स्ट्रिंग्स की कोई सबसीक्वेंस नहीं होनी चाहिए।

यदि कोई असामान्य सबसीक्वेंस मौजूद नहीं है, तो हमें -1 वापस करना चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है:

const arr = ["aba", "cdc", "eae"];

तो आउटपुट होना चाहिए:

const output = 3;

आउटपुट व्याख्या:

"aba", "cdc" और "eae" सभी लंबाई 3 के वैध असामान्य सबसीक्वेंस हैं।

कोड

const arr = ["aba", "cdc", "eae"]; const longestUncommon = (strs) => {    const map = {};    const arr = [];    let max = -1;    let index = -1;    for(let i = 0; i < strs.length; i++){       map[strs[i]] = (map[strs[i]] || 0) + 1;       if(map[strs[i]] > 1){          if(max < strs[i].length){             max = strs[i].length             index = i;          }       }    }    if(index === -1) {       strs.forEach(el =>{          if(el.length > max) max = el.length;       })       return max;    }    for(let i = 0; i < strs.length; i++){       if(map[strs[i]] === 1) arr.push(strs[i]);    }    max = -1    for(let i = arr.length - 1; i >= 0; i--){       let l = arr[i];       let d = 0;       for(let j = 0; j < strs[index].length; j++){          if(strs[index][j] === l[d]){             d++;          }       }       if(d === l.length){          let temp = arr[i];          arr[i] = arr[arr.length - 1];          arr[arr.length - 1] = temp;          arr.pop();       }    }    arr.forEach(el =>{       if(el.length > max) max = el.length;    })    return max; }; console.log(longestUncommon(arr));

आउटपुट

कंसोल में आउटपुट होगा:

3
  1. - JavaScript में ऐरे की लंबाई कैसे खोजें?

    ऐरे की लंबाई खोजने के लिए, JavaScript length प्रॉपर्टी का उपयोग करें। JavaScript ऐरे length प्रॉपर्टी एक अनसाइन्ड, 32-बिट इंटीजर लौटाती है जो ऐरे में एलिमेंट्स की संख्या निर्दिष्ट करती है। उदाहरण ऐरे की लंबाई खोजने के लिए निम्न कोड चलाएं: <html> <head> <title>JavaScript Arra

  1. JavaScript Array.length प्रॉपर्टी: एरे की लंबाई प्राप्त/सेट करें JavaScript Array.length प्रॉपर्टी: एरे की लंबाई प्राप्त/सेट करें

    Array.length प्रॉपर्टी एरे में तत्वों की संख्या लौटाती है या सेट करती है। यह 0-आधारित इंडेक्सिंग के कारण अंतिम इंडेक्स + 1 होती है। यह लिखने योग्य है - लंबाई बदलने से एरे ट्रंकेट या विस्तारित होता है। उदाहरण { fillEle.innerHTML = एरे की लंबाई है: + arr.length; }); </script> &

  1. JavaScript में ऐरे ऑब्जेक्ट की लंबाई JavaScript में ऐरे ऑब्जेक्ट की लंबाई

    JavaScript में Length प्रॉपर्टी ऑब्जेक्ट का आकार लौटाती है। स्ट्रिंग और ऐरे ऑब्जेक्ट की लंबाई के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, i