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

जावास्क्रिप्ट में अंतराल के क्रमबद्ध सरणी में एक नया अंतराल सम्मिलित करना

<घंटा/>

इस प्रश्न के प्रयोजन के लिए, हम एक अंतराल को दो संख्याओं की एक सरणी के रूप में परिभाषित करते हैं जहां पहली संख्या हमेशा दूसरी संख्या से छोटी होती है।

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

[4, 6], [2, 3], [6, 8], [2, 7], [1, 8] are all examples of valid intervals.

मान लीजिए, हमारे पास अंतराल की एक सरणी है जो उनके प्रारंभ समय (प्रत्येक अंतराल के पहले तत्व) के अनुसार क्रमबद्ध है।

सरणी में अंतराल गैर-अतिव्यापी हैं जिसका अर्थ है कि किन्हीं दो मनमाने आसन्न अंतरालों के लिए,

[m, n], [x, y]
m < n < x < y

इसलिए, अंतराल के इस सरणी का एक ऐसा उदाहरण हो सकता है -

const arr = [[ 2, 4], [5, 7], [9, 10], [13, 17]];

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

फ़ंक्शन को तब अंतराल को सरणी में उसकी सही स्थिति में सम्मिलित करना चाहिए, सरणी के गैर-अतिव्यापी गुण को बनाए रखना चाहिए।

यदि आवश्यक हो तो हम सरणी अंतराल को गैर-अतिव्यापी रखने के लिए सरणी में दो या अधिक अंतरालों को मर्ज कर सकते हैं।

उदाहरण के लिए, यदि अंतराल के उपरोक्त सरणी के लिए, हमें जो अंतराल डालने की आवश्यकता है वह [6, 13] है, तो आउटपुट इस तरह दिखना चाहिए -

const output = [[2, 4], [5, 17]];

उदाहरण

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

const arr = [[2, 4], [5, 7], [9, 10], [13, 17]];
const interval = [6, 13];
const insertWithin = (arr = [], interval = []) => {
   const res = [];
   let ind = 0;
   while (arr[ind] && arr[ind][1] < interval[0]) {
      res.push(arr[ind]);
      ++ind;
   };
   let start = interval[0];
   let end = interval[1];
   while (arr[ind] && arr[ind][0] <= interval[1]) {
      start = Math.min(start, arr[ind][0]);
      end = Math.max(end, arr[ind][1]);
      ++ind;
   }
   res.push([start, end]);
   while (arr[ind]) {
      res.push(arr[ind]);
      ++ind;
   }
   return res;
};
console.log(insertWithin(arr, interval));

आउटपुट

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

[[2, 4], [5, 17]]

  1. array.flatMap() जावास्क्रिप्ट में

    JavaScript array.flatMap() फ़ंक्शन दिए गए नेस्टेड सरणी को एक नए फ्लैट सरणी में समतल करता है। array.flatMap() विधि के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content

  1. नए कीवर्ड के साथ जावास्क्रिप्ट सरणी बनाना।

    नए कीवर्ड के साथ JavaScript सरणी बनाने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume

  1. जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में फ़ॉर्मेट करना

    जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में प्रारूपित करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <ti