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

जावास्क्रिप्ट में पहले से सूचीबद्ध अंतरालों को हटाना

<घंटा/>

समस्या

जावास्क्रिप्ट फ़ंक्शन जो 2-डी सरणी में लेता है, गिरफ्तारी, पहले और एकमात्र तर्क के रूप में।

हमारे इनपुट एरे का प्रत्येक सबअरे एक समय अंतराल को निर्दिष्ट करते हुए, ठीक दो संख्याओं की एक सरणी है।

हमारे फ़ंक्शन को उन सभी अंतरालों को हटा देना चाहिए जो सरणी गिरफ्तारी में किसी अन्य अंतराल द्वारा कवर किए गए हैं। अंतराल [ए, बी) अंतराल द्वारा कवर किया जाता है [सी, डी) अगर और केवल अगर सी <=ए और बी <=डी। हमारे फ़ंक्शन को अंततः सरणी में शेष अंतरालों की संख्या वापस करनी चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [
   [2, 5],
   [5, 7],
   [3, 9]
];

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

const output = 2;

आउटपुट स्पष्टीकरण:

अंतराल [5, 7] [3, 9] द्वारा कवर किया जाता है, इसलिए इसे हटा दिया जाता है।

उदाहरण

इसके लिए कोड होगा -

const arr = [
   [2, 5],
   [5, 7],
   [3, 9]
];
const removeCovered = (arr = []) => {
   arr.sort(([a, b], [c, d]) => (a === c ? d - b : a - c));
   let last = arr[0];
   let count = arr.length;
   for(let i = 1; i < arr.length; i++){
      const [a, b] = last;
      const [c, d] = arr[i];
      if(c >= a && d <= b){
         count -= 1;
      }else{
         last = arr[i];
      };
   };
   return count;
};
console.log(removeCovered(arr));

आउटपुट

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

2

  1. जावास्क्रिप्ट ट्री में एक नोड को हटाना

    यदि आप दूर से देखें तो पेड़ से नोड को हटाना काफी जटिल है। नोड को हटाते समय विचार करने के लिए 3 मामले हैं। निम्नलिखित फ़ंक्शन की टिप्पणी में इनका उल्लेख किया गया है। जैसा कि हम पहले करते रहे हैं, हम कक्षा में एक विधि और पुनरावर्ती कॉल करने के लिए एक सहायक बनाएंगे। कक्षा पद्धति deleteNode(key) {// यदि

  1. जावास्क्रिप्ट में एक सरणी कैसे खाली करें

    जावास्क्रिप्ट में किसी सरणी को खाली/खाली करने के कई तरीके हैं। आपको संदर्भ के आधार पर उनका उपयोग करने की आवश्यकता है। आइए हम उनमें से प्रत्येक को देखें। मान लें कि हमारे पास − . के रूप में परिभाषित एक सरणी है let arr = [1, 'test', {}, 123.43]; नई सरणी के साथ प्रतिस्थापन - arr = []; यह सबसे

  1. जावास्क्रिप्ट बेसिक ऐरे मेथड्स

    कुछ बुनियादी जावास्क्रिप्ट सरणी विधियाँ हैं - विधि विवरण Array.push() सरणी के अंत में तत्वों को जोड़ने के लिए। Array.pop() सरणी के अंत से तत्वों को हटाने के लिए। Array.unshift() सरणी के सामने तत्वों को जोड़ने के लिए Array.shift() सरणी के सामने से तत्वों को हटाने के लिए। Array.splice() ब्य