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

स्ट्रिंग्स के सरणियों का प्रतिच्छेदन ढूँढना - जावास्क्रिप्ट

<घंटा/>

हमारे पास संख्याओं के दो सरणियाँ हैं, और हमें एक फ़ंक्शन लिखने की आवश्यकता है, मान लें कि चौराहा () जो उनके प्रतिच्छेदन की गणना करता है और एक सरणी देता है जिसमें किसी भी क्रम में प्रतिच्छेद करने वाले तत्व होते हैं। परिणाम में प्रत्येक तत्व दोनों सरणियों में जितनी बार दिखाई देता है उतनी बार प्रकट होना चाहिए।

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

अगर इनपुट है -

arr1 = ['hello', 'world', 'how', 'are', 'you'];
arr2 = ['hey', 'world', 'can', 'you', 'rotate'];

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

Output: ['world', 'you'];

दृष्टिकोण

यदि सरणियों को क्रमबद्ध किया गया होता, तो हम दो सूचक दृष्टिकोण का उपयोग कर सकते थे, जिसमें शुरू में दोनों संबंधित सरणी की शुरुआत 0 की ओर इशारा करते थे और हम संबंधित सूचक को बढ़ाने के साथ आगे बढ़ सकते थे और वह O (m + n) जटिल w.r.t होता। वह समय जहाँ m और n सरणी के आकार हैं।

लेकिन चूंकि हमारे पास बिना क्रमबद्ध सरणियाँ हैं, इसलिए सरणियों को छाँटने में कोई तर्क नहीं है और फिर इस दृष्टिकोण का उपयोग करते हुए, हम दूसरे के खिलाफ पहले के प्रत्येक मान की जाँच करेंगे और एक प्रतिच्छेदन सरणी का निर्माण करेंगे। इससे हमें O(n^2) समय खर्च होगा।

उदाहरण

निम्नलिखित कोड है -

arr1 = ['hello', 'world', 'how', 'are', 'you'];
arr2 = ['hey', 'world', 'can', 'you', 'rotate'];
const intersectElements = (arr1, arr2) => {
   const res = [];
   const { length: len1 } = arr1;
   const { length: len2 } = arr2;
   const smaller = (len1 < len2 ? arr1 : arr2).slice();
   const bigger = (len1 >= len2 ? arr1 : arr2).slice();
   for(let i = 0; i < smaller.length; i++) {
      if(bigger.indexOf(smaller[i]) !== -1) {
         res.push(smaller[i]);
         bigger.splice(bigger.indexOf(smaller[i]), 1, undefined);
      }
   };
   return res;
};
console.log(intersectElements(arr1, arr2));

आउटपुट

यह कंसोल में निम्न आउटपुट उत्पन्न करेगा -

[ 'world', 'you' ]

  1. जावास्क्रिप्ट में शाब्दिक के दो सरणियों के बीच लापता संख्या ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो सरणियों arr1 और arr2 में लेता है। arr2 arr1 का फेरबदल किया गया डुप्लिकेट है जिसमें केवल एक तत्व गायब है। हमारे फ़ंक्शन को उस एक तत्व को ढूंढना और वापस करना चाहिए। उदाहरण निम्नलिखित कोड है - { const obj ={}; के लिए (चलो i =0; i

  1. जावास्क्रिप्ट में दो सरणियों से तारों की लंबाई का अधिकतम पूर्ण अंतर

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो सरणियों, a1 और a2 स्ट्रिंग्स में लेता है। प्रत्येक स्ट्रिंग ए से जेड तक अक्षरों से बना है। मान लीजिए कि पहली सरणी में x कोई स्ट्रिंग है और दूसरी सरणी में y कोई स्ट्रिंग है। हमारे फ़ंक्शन को − . का मान ज्ञात करना चाहिए max(abs(length(x) − le

  1. जावास्क्रिप्ट में दो सरणियों को संतुलित करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और दूसरे तर्क के रूप में संख्याओं के दो सरणियों, arr1 और arr2 को लेता है। arr1 और arr2 में तत्वों का योग भिन्न होता है। हमारे फ़ंक्शन को पहली सरणी से एक तत्व चुनना चाहिए और इसे दूसरी सरणी में धक्का देना चाहिए और दूसरे सरणी से एक तत्व चुन