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

जावास्क्रिप्ट पावर सेट में एक सेट के लिए पावर सेट ढूँढना

<घंटा/>

समुच्चय S का घात समुच्चय S के सभी उपसमुच्चयों का समुच्चय है, जिसमें खाली समुच्चय और स्वयं S भी शामिल है। सेट S के पावर सेट को P(S) के रूप में दर्शाया जाता है।

उदाहरण के लिए

यदि S ={x, y, z}, उपसमुच्चय हैं -

{
   {},
   {x},
   {y},
   {z},
   {x, y},
   {x, z},
   {y, z},
   {x, y, z}
}

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

उदाहरण

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

const set = ['x', 'y', 'z'];
const powerSet = (arr = []) => {
   const res = [];
   const { length } = arr;
   const numberOfCombinations = 2 ** length;
   for (let combinationIndex = 0; combinationIndex < numberOfCombinations; combinationIndex += 1) {
      const subSet = [];
      for (let setElementIndex = 0; setElementIndex < arr.length;
      setElementIndex += 1) {
         if (combinationIndex & (1 << setElementIndex)) {
            subSet.push(arr[setElementIndex]);
         };
      };
      res.push(subSet);
   };
   return res;
};
console.log(powerSet(set));

आउटपुट

कंसोल पर आउटपुट निम्नलिखित है -

[
   [],
   [ 'x' ],
   [ 'y' ],
   [ 'x', 'y' ],
   [ 'z' ],
   [ 'x', 'z' ],
   [ 'y', 'z' ],
   [ 'x', 'y', 'z' ]
]

  1. जावास्क्रिप्ट में सरणी बनाम सेट।

    सेट डेटा प्रकार को ES2015 में पेश किया गया था और सरणी और सेट के बीच का अंतर यह है कि एक सरणी में डुप्लिकेट मान हो सकते हैं, जबकि एक सेट नहीं कर सकता। तत्वों को इंडेक्स का उपयोग करके सरणी में एक्सेस किया जा सकता है जो सेट में संभव नहीं है क्योंकि यह कुंजियों का उपयोग करता है और तत्वों को केवल उसी तरह

  1. जावास्क्रिप्ट में स्टेटमेंट के लिए... के बारे में बताएं?

    for…in लूप सभी ऑब्जेक्ट गुणों के माध्यम से लूप करता है। जावास्क्रिप्ट में for..in स्टेटमेंट को लागू करने वाला कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width

  1. जावास्क्रिप्ट में प्रत्येक नोड के लिए अगला बड़ा नोड ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो लिंक की गई सूची के शीर्ष को पहले और एकमात्र तर्क के रूप में लेता है। node_i.val, और j सबसे छोटा संभव विकल्प है। यदि ऐसा j मौजूद नहीं है, तो अगला बड़ा मान 0 है। हमारे फ़ंक्शन को एक सरणी तैयार करनी चाहिए और वापस करनी चाहिए जिसमें संबंधित तत्व सूची मे