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

JavaScript में सरणी के सभी संभावित उपसमुच्चय (Subsets) ढूंढना


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

फ़ंक्शन को मूल सरणी से बनाए जा सकने वाले सभी संभावित उप-सरणियों की एक सरणी बनाकर वापस करनी चाहिए।

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

यदि इनपुट सरणी है -

const arr = [1, 2, 3];

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

const output = [
  [2],
  [1],
  [3],
  [1,2,3],
  [2,3],
  [1,2],
  [1, 3],
  []
];

उप-सरणियों का क्रम इतना महत्वपूर्ण नहीं है।

उदाहरण

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

const arr = [1, 2, 3];

const findAllSubsets = (arr = []) => {
  arr.sort();
  const res = [[]];
  let count, subRes, preLength;
  for (let i = 0; i < arr.length; i++) {
    count = 1;
    while (arr[i + 1] && arr[i + 1] == arr[i]) {
      count += 1;
      i++;
    }
    preLength = res.length;
    for (let j = 0; j < preLength; j++) {
      subRes = res[j].slice();
      for (let x = 1; x <= count; x++) {
        if (x > 0) subRes.push(arr[i]);
        res.push(subRes.slice());
      }
    }
  };
  return res;
};

console.log(findAllSubsets(arr));

आउटपुट

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

[
  [], [ 1 ],
  [ 2 ], [ 1, 2 ],
  [ 3 ], [ 1, 3 ],
  [ 2, 3 ], [ 1, 2, 3 ]
]

  1. - JavaScript में सभी अद्वितीय पथ (Unique Paths) ढूंढना

    मान लीजिए हमारे पास m * n क्रम की एक सरणी है। एक व्यक्ति 2-D सरणी के प्रारंभ ब्लॉक (0,0) पर शुरू होता है और वह अंत (m, n) तक पहुंचना चाहता है। सीमा यह है कि एक बार में, वह या तो एक कदम नीचे या एक कदम दाएं जा सकता है। हमें एक JavaScript फ़ंक्शन लिखना है जो 2-D ग्रिड की ऊंचाई और चौड़ाई लेता है। फ़ंक्

  1. - JavaScript में सरणी से लापता तत्व ढूंढना

    हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी लेता है, जिसकी लंबाई मान लीजिए n है। इस सरणी में 0 से n तक के सभी पूर्णांक होते हैं (0 और n दोनों सहित), लेकिन सिर्फ एक पूर्णांक गायब होता है, यह कोई भी संख्या हो सकती है और सरणी क्रमबद्ध नहीं होती। हमारे फ़ंक्शन का काम उस लापता संख्या को ढू

  1. JavaScript में सरणी में सभी पीक और उनकी स्थितियां ढूंढना JavaScript में सरणी में सभी पीक और उनकी स्थितियां ढूंढना

    बिल्ड अप मान लीजिए हमारे पास JavaScript में निम्नलिखित सरणी है - const arr = [4, 3, 4, 7, 5, 2, 3, 4, 3, 2, 3, 4]; यदि हम इस सरणी के बिंदुओं को y-अक्ष पर प्लॉट करते हैं, जिसमें प्रत्येक आसन्न बिंदु x-अक्ष पर इकाई दूरी पर होता है, तो ग्राफ इस तरह दिखेगा - यह ग्राफ स्पष्ट रूप से दिखाता है कि इस सरणी