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

JavaScript में अपने आसन्न तत्वों से बड़ा तत्व ढूंढना


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

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

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

यदि इनपुट सरणी है -

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

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

const output = 9;

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

इसके चरण निम्नलिखित होंगे -

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

उदाहरण

निम्नलिखित कोड देखें:

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. - JavaScript में ब्रैकेट का स्कोर ढूंढना

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

  1. - JavaScript में अगले बड़े तत्व की दूरी ढूंढना

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

  1. - पायथन – पिछले एलिमेंट से बड़े एलिमेंट्स की संख्या द्वारा मैट्रिक्स सॉर्ट करना

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