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

जावास्क्रिप्ट में एक सरणी में सभी चोटियों और उनकी स्थिति ढूँढना

<घंटा/>

बिल्ड अप

मान लीजिए कि हमारे पास जावास्क्रिप्ट में निम्नलिखित सरणी है -

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

यदि हम इस सरणी के बिंदुओं को y-अक्ष पर प्लॉट करते हैं, जिसमें प्रत्येक आसन्न बिंदु ऑनएक्स-अक्ष से इकाई दूरी पर होता है, तो ग्राफ़ इस तरह दिखेगा -

जावास्क्रिप्ट में एक सरणी में सभी चोटियों और उनकी स्थिति ढूँढना

यह ग्राफ़ स्पष्ट रूप से दिखाता है कि इस सरणी में इंडेक्स 3 और 7 पर दो स्थानीय मैक्सिमा (शिखर) मौजूद हैं, जिनका मान क्रमशः 7 और 4 है।

समस्या

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

हमारा कार्य एक ऐसी वस्तु को वापस करने वाला है जिसमें दो गुण, मैक्सिमा और स्थिति शामिल हैं।

ये दोनों गुण सरणियाँ होंगे, और मैक्सिमा सरणी में सरणी में लोकलमैक्सिमा का मान होगा और स्थिति सरणी में उनके संबंधित सूचकांक होंगे।

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

इसलिए, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -

const output = {
maximas: [7, 4],
positions: [3, 7]
};

उदाहरण

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

const arr = [4, 3, 4, 7, 5, 2, 3, 4, 3, 2, 3, 4];
const findMaxima = (arr = []) => {
   let positions = []
   let maximas = []
   for (let i = 1; i < arr.length - 1; i++) {
      if (arr[i] > arr[i - 1]) {
         if (arr[i] > arr[i + 1]) {
            positions.push(i)
            maximas.push(arr[i])
         } else if (arr[i] === arr[i + 1]) {
            let temp = i
            while (arr[i] === arr[temp]) i++
            if (arr[temp] > arr[i]) {
               positions.push(temp)
               maximas.push(arr[temp])
            }
         }
      }
   }
   return { maximas, positions };
};
console.log(findMaxima(arr));

आउटपुट

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

{ maximas: [ 7, 4 ], positions: [ 3, 7 ] }

  1. जावास्क्रिप्ट में एक सरणी में एक संख्या और उसके nth गुणक ढूँढना

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

  1. ऐसे तत्व ढूँढना जिनके उत्तराधिकारी और पूर्ववर्ती जावास्क्रिप्ट में सरणी में हैं

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

  1. सरणी प्रतिच्छेदन ढूँढना और जावास्क्रिप्ट में दोहराए जाने वाले तत्वों को शामिल करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो दो सरणियों में लेता है, arr1 और arr2 क्रमशः पहले और दूसरे तर्क के रूप में। फ़ंक्शन को सरणियों के प्रतिच्छेदन (दोनों के बीच सामान्य तत्व) का पता लगाना चाहिए और यदि ऐसे तत्व हैं जो दोनों सरणियों में दो बार दिखाई देते हैं, तो हमें उन्हें अपने पर