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

जावास्क्रिप्ट में इकाई अंतर के साथ सबसे लंबा उपसरणी

<घंटा/>

समस्या

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

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

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

const arr = [2, 4, 3, 3, 6, 3, 4, 8];

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

const output = 5;

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

क्योंकि वांछित उप-सरणी [4, 3, 3, 3, 4] है

उदाहरण

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

const arr = [2, 4, 3, 3, 6, 3, 4, 8];
const longestSequence = (arr = []) => {
   const map = arr.reduce((acc, num) => {
      acc[num] = (acc[num] || 0) + 1
      return acc
   }, {})

   return Object.keys(map).reduce((max, key) => {
      const nextKey = parseInt(key, 10) + 1
   if (map[nextKey] >= 0) {
      return Math.max(
         max,
         map[key] + map[nextKey],
      )
   }
   return max
   }, 0);
};
console.log(longestSequence(arr));

आउटपुट

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

5

  1. जावास्क्रिप्ट getPrototypeOf उदाहरण के साथ

    getPrototypeOf() विधि का उपयोग उपयोगकर्ता द्वारा बनाई गई वस्तु के प्रोटोटाइप की जांच करने के लिए किया जाता है और अक्सर तुलना करने के लिए उपयोग किया जाता है कि दो दिए गए ऑब्जेक्ट में समान प्रोटोटाइप है या नहीं। getPrototypeOf() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html

  1. उदाहरण के साथ जावास्क्रिप्ट में वंशानुक्रम

    जावास्क्रिप्ट एक वस्तु-आधारित भाषा है जो प्रोटोटाइप पर आधारित है। प्रोटोटाइप ऑब्जेक्ट का उपयोग करके जावास्क्रिप्ट में वंशानुक्रम लागू किया गया है। जावास्क्रिप्ट में इनहेरिटेंस को लागू करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta

  1. जावास्क्रिप्ट में बढ़ते मूल्य के साथ सबसे बड़ा सूचकांक अंतर

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है, गिरफ्तार। हमारे फ़ंक्शन को अनुक्रमणिका j - i में सबसे बड़ा अंतर लौटाना चाहिए जैसे कि arr[i] <=arr[j] उदाहरण इसके लिए कोड होगा - const arr = [1, 2, 3, 4]; const findLargestDifference = (arr = []) => {   &nb