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

जावास्क्रिप्ट समूह सरणी - परिभाषित किनारों का उपयोग करके यात्रा की जा सकने वाली संख्याओं के सेट खोजें

<घंटा/>

निम्नलिखित इनपुट और आउटपुट सरणियों पर विचार करें -

const input = ["0:3", "1:3", "4:5", "5:6", "6:8"]; const output = [
   [0, 1, 3],
   [4, 5, 6, 8]
];

ग्राफ़ में प्रत्येक संख्या को एक नोड के रूप में देखते हुए, और प्रत्येक जोड़ी x:y को नोड्स x और y के बीच एक किनारे के रूप में देखते हुए, हमें संख्याओं के सेट को खोजने की आवश्यकता होती है जिन्हें परिभाषित किनारों का उपयोग करके यात्रा की जा सकती है।

अर्थात्, ग्राफ सिद्धांत के संदर्भ में, ऐसे ग्राफ के भीतर अलग-अलग जुड़े हुए घटकों को खोजें। उदाहरण के लिए, उपरोक्त सरणियों में, 4 से 0 तक यात्रा करने का कोई तरीका नहीं है, इसलिए वे अलग-अलग समूहों में हैं, लेकिन यात्रा करने का एक तरीका है 1 से 0 (3 के माध्यम से) इसलिए वे एक ही समूह में हैं।" वांछित आउटपुट को दोहराने के लिए संभावित यादृच्छिक इनपुट सेट के आधार पर ट्रांसवर्सेबल नोड्स का समूह है।

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दिए गए इनपुट से वांछित आउटपुट तैयार करता है।

उदाहरण

const input = ["0:3", "1:3", "4:5", "5:6", "6:8"];
const groupRange = (arr = []) => {
   const res = [[]];
   let count = 0;
   const a = [0];
   let array = arr.map(el => el.split(':').sort((a, b) => a - b)). sort((a, b) => a[0] - b[0]); array.forEach(el => {
      if (el[0] > a[a.length - 1]) {
         res.push(el);
          a.push(el[1]);
         count++;
      } else {
         res[count] = res[count].concat(el);
         a[a.length - 1] = el[1];
      };
   });
   return res.map(el => [...new Set(el)].sort((a, b) => a - b));
}
console.log(groupRange(input));

आउटपुट

और कंसोल में आउटपुट होगा -

[ [ '0', '1', '3' ], [ '4', '5', '6', '8' ] ]

  1. जावास्क्रिप्ट का उपयोग करके कुछ वज़न के मान वाले सरणी को सॉर्ट करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो स्ट्रिंग की एक सरणी लेता है जिसमें तीन इकाइयों के साथ वजन होता है:ग्राम (जी), किलो-ग्राम (केजी) और टन (टी)। हमारे फ़ंक्शन को सरणी को हल्के से भारी वजन के क्रम में क्रमबद्ध करना चाहिए। हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो स्ट्रिंग

  1. एक सरणी में जोड़े की संख्या जिसमें जावास्क्रिप्ट का उपयोग करके लगातार संख्याएं होती हैं

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पूर्णांकों की एक सरणी लेता है। हमारे फ़ंक्शन को उस सरणी से ऐसे संक्रामक जोड़े की गिनती वापस करनी चाहिए जिनमें लगातार संख्याएं हों। उदाहरण निम्नलिखित कोड है - const arr = [1, 2, 5, 8, -4, -3, 7, 6, 5]; const countPairs = (arr = []) => {   &nb

  1. ऐसी सरणी संख्या ढूँढना जिसका जावास्क्रिप्ट का उपयोग करके सरणी में कोई मिलान सकारात्मक या ऋणात्मक संख्या नहीं है

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पूर्णांकों की एक सरणी लेता है। एरे में प्रत्येक नंबर के लिए एरे में उसकी नकारात्मक या सकारात्मक तारीफ भी मौजूद होगी, लेकिन ठीक एक नंबर के लिए कोई कॉम्प्लिमेंट नहीं होगा। हमारे फ़ंक्शन को उस नंबर को सरणी से ढूंढना और वापस करना चाहिए। उदाहरण निम्नलिख