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

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

समस्या

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

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

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

इनपुट

const arr = [12, 13, 14, 11, 16, 10, 12, 17, 19, 18];

आउटपुट

const output = [1, 1, 2, 1, 3, 1, 1, 1, 0, 0];

आउटपुट व्याख्या

क्योंकि 12 से अगला बड़ा तत्व 13 है, 1 ब्लॉक दूर,

13 से अगला बड़ा 14 है, 1 ब्लॉक दूर,

14 से अगला बड़ा 16 है, 2 ब्लॉक दूर और इसी तरह।

उदाहरण

const arr = [12, 13, 14, 11, 16, 10, 12, 17, 19, 18];
const findNextGreater = (arr = []) => {
  const stack = [];
  const res = new Array(arr.length).fill(0);
  for (let i = 0; i < arr.length; i++) {
    while (arr[i] > arr[stack[stack.length - 1]] && stack.length > 0) {
      const index = stack.pop();
      res[index] = i - index;
    }
    stack.push(i);
  }
  return res;
};
console.log(findNextGreater(arr));

आउटपुट

[1, 1, 2, 1, 3, 1, 1, 1, 0, 0]
  1. JavaScript में प्रत्येक नोड के लिए अगला बड़ा नोड खोजना JavaScript में प्रत्येक नोड के लिए अगला बड़ा नोड खोजना

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो लिंक्ड लिस्ट के हेड को पहले और एकमात्र आर्गुमेंट के रूप में लेता है। node_i.val, और j सबसे छोटा संभव विकल्प है। यदि ऐसा j मौजूद नहीं है, तो अगला बड़ा मान 0 है। हमारे फ़ंक्शन को एक सरणी तैयार करके वापस करनी चाहिए जिसमें संबंधित तत्व सूची में तत्व के लिए

  1. - C++ में अगला बड़ा तत्व III

    मान लीजिए हमारे पास एक धनात्मक 32-बिट पूर्णांक n है, हमें सबसे छोटा 32-बिट पूर्णांक ढूंढना है जिसमें पूर्णांक n में मौजूद वही अंक हों और जो n से मान में बड़ा हो। यदि ऐसा कोई धनात्मक 32-बिट पूर्णांक नहीं है, तो -1 लौटाएं। इसलिए यदि संख्या 213 है, तो परिणाम 231 होगा। हल का दृष्टिकोण इसे हल करने के

  1. - C++ में Next Greater Element II

    मान लीजिए हमारे पास एक वृत्ताकार सरणी (circular array) है (सरणी का अंतिम तत्व का अगला तत्व सरणी का पहला तत्व है), हमें हर तत्व के लिए अगली बड़ी संख्या (Next Greater Number) प्रदर्शित करनी है। यहां एक संख्या x की अगली बड़ी संख्या सरणी में उसकी अनुक्रमण क्रम में अगली पहली बड़ी संख्या है, इसका मतलब है