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

जावास्क्रिप्ट में अंतराल के सरणियों का प्रतिच्छेदन ढूँढना

<घंटा/>

समस्या

जावास्क्रिप्ट फ़ंक्शन जो दो सरणियों में लेता है, arr1 और arr2 अंतराल के जो जोड़ीदार असंबद्ध और क्रमबद्ध क्रम में हैं।

एक बंद अंतराल [a, b] (a <=b के साथ) वास्तविक संख्या x के सेट को <=x <=b के साथ दर्शाता है।

दो बंद अंतरालों का प्रतिच्छेदन वास्तविक संख्याओं का एक समूह है जो या तो खाली होता है, या एक बंद अंतराल के रूप में दर्शाया जा सकता है। उदाहरण के लिए, [1, 3] और [2, 4] का प्रतिच्छेदन [2, 3] है।) हमारा कार्य इन दो अंतराल सरणियों के प्रतिच्छेदन को वापस करना है।

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

const arr1 = [[0,2],[5,10],[13,23],[24,25]];
const arr2 = [[1,5],[8,12],[15,24],[25,26]];

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

const output = [[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]];

उदाहरण

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

const arr1 = [[0,2],[5,10],[13,23],[24,25]];
const arr2 = [[1,5],[8,12],[15,24],[25,26]];
const findIntersection = function (A, B) {
   const res = []
   let i = 0
   let j = 0
   while (i < A.length && j < B.length) {
      const [a, b] = A[i]
      const [c, d] = B[j]
      const lo = Math.max(a, c)
      const hi = Math.min(b, d)
      if (lo <= hi) {
         res.push([Math.max(a, c), Math.min(b, d)])
      }
      if (b < d) {
         i++
      } else {
         j++
      }
   }
   return res
};
console.log(findIntersection(arr1, arr2));

आउटपुट

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

[
   [ 1, 2 ],
   [ 5, 5 ],
   [ 8, 10 ],
   [ 15, 23 ],
   [ 24, 24 ],
   [ 25, 25 ] 
]

  1. जावास्क्रिप्ट कॉन्स्ट

    जावास्क्रिप्ट कॉन्स्ट घोषणाएं वेरिएबल बनाती हैं जिन्हें किसी अन्य मान पर पुन:असाइन नहीं किया जा सकता है या बाद में पुन:घोषित नहीं किया जा सकता है। इसे ES2015 में पेश किया गया था। जावास्क्रिप्ट कॉन्स्टेबल डिक्लेरेशन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html> <head> &l

  1. जावास्क्रिप्ट में एक मैट्रिक्स में शब्द ढूँढना

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

  1. जावास्क्रिप्ट में तीन क्रमबद्ध सरणियों का प्रतिच्छेदन

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो बढ़ते क्रम में क्रमबद्ध पूर्णांकों के तीन सरणी लेता है। फ़ंक्शन को तब एक सरणी का निर्माण और वापसी करनी चाहिए जिसमें केवल वे तत्व हों जो तीनों सरणियों में मौजूद हों। उदाहरण के लिए - यदि इनपुट सरणियाँ हैं - const arr1 = [4, 7, 8, 11, 13, 15, 17]; cons