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

जावास्क्रिप्ट में इसके आसन्न तत्वों से बड़ा तत्व ढूँढना

<घंटा/>

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

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

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

यदि इनपुट ऐरे है -

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

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

const output = 9;

चूंकि प्रश्न शिखर तत्व को खोजने की मांग करता है, इसलिए हम द्विआधारी खोज एल्गोरिथम के एक संशोधित संस्करण का उपयोग कर सकते हैं।

इसके लिए चरण होंगे -

  • किसी भी तत्व को देखें।

  • यदि अगला तत्व और पिछला तत्व दोनों वर्तमान से कम हैं, तो हम समाधान ढूंढते हैं, फिर वर्तमान का सूचकांक लौटाते हैं।

  • यदि अगला तत्व धारा से बड़ा है, तो दाईं ओर एक शिखर होना चाहिए, दाईं ओर पुनरावर्ती रूप से देखें।

  • यदि पिछला तत्व धारा से बड़ा है, तो बाईं ओर एक शिखर होना चाहिए, बाईं ओर पुनरावर्ती रूप से देखें।

उदाहरण

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

const arr = [3, 6, 7, 9, 8, 2, 5];
const greaterThanAdjacent = (arr = [], start = 0, end = arr.length) => {
   let mid = start + Math.floor((end - start) / 2);
   let curr = arr[mid];
   let prev = mid-1 < 0 ? -Infinity : arr[mid-1];
   let next = mid+1 > arr.length-1 ? -Infinity : arr[mid+1];
   if (curr > prev && curr > next){
      return arr[mid];
   }
   if (curr < next){
      return greaterThanAdjacent(arr, mid+1, end);
   }
   if (curr > next){
      return greaterThanAdjacent(arr, start, mid-1);
   }
   return null;
};
console.log(greaterThanAdjacent(arr));

आउटपुट

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

9

  1. जावास्क्रिप्ट में कोष्ठकों का स्कोर ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संतुलित वर्ग ब्रैकेट स्ट्रिंग, str को पहले और एकमात्र तर्क के रूप में लेता है। हमारे फ़ंक्शन को निम्नलिखित नियम के आधार पर स्ट्रिंग के स्कोर की गणना और वापसी करनी चाहिए - [] का स्कोर 1 है एबी का स्कोर ए + बी है, जहां ए और बी संतुलित ब्र

  1. जावास्क्रिप्ट में अगले बड़े तत्व के लिए दूरी ढूँढना

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

  1. पायथन - अपने पिछले तत्व से अधिक तत्वों की संख्या के आधार पर मैट्रिक्स को क्रमबद्ध करें

    जब पिछले तत्व से अधिक तत्वों की संख्या के आधार पर मैट्रिक्स को सॉर्ट करने की आवश्यकता होती है, तो फ़ंक्शन का उपयोग करके एक सूची समझ और लेन विधि का उपयोग किया जाता है। नीचे उसी का एक प्रदर्शन है - उदाहरण def fetch_greater_freq(row):    return len([row[idx] for idx in range(0, len(row) - 1