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

JavaScript में दो अनुक्रमों को बढ़ता हुआ बनाना

सख्ती से बढ़ता अनुक्रम

एक अनुक्रम सख्ती से बढ़ता है यदि और केवल यदि arr[0] < arr[1] < arr[2] < ... < arr[arr.length - 1]।

समस्या

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

हम arr1 से arr2 में किसी भी संख्या में तत्वों को स्वैप कर सकते हैं, जो समान इंडेक्स पर होते हैं। इसका मतलब है हम arr1[i] को arr2[i] के साथ स्वैप कर सकते हैं। हमारे फ़ंक्शन को दोनों अनुक्रमों को सख्ती से बढ़ता हुआ बनाने के लिए न्यूनतम स्वैप की संख्या वापस करनी चाहिए।

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

इनपुट

const arr1 = [1, 3, 5, 4];
const arr2 = [1, 2, 3, 7];

आउटपुट

const output = 1;

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

क्योंकि यदि हम arr1[3] को arr2[3] के साथ स्वैप करते हैं, तो दोनों सरणियाँ सख्ती से बढ़ती हुई हो जाएंगी।

उदाहरण

const arr1 = [1, 3, 5, 4];
const arr2 = [1, 2, 3, 7];
const findSwaps = (arr1 = [], arr2 = []) => {
  let map = {
    true: 1,
    false: 0,
  };
  for (let i = 1; i < arr1.length; i++) {
    const current = {
      true: Infinity,
      false: Infinity,
    };
    if (arr1[i] > arr2[i - 1] && arr2[i] > arr1[i - 1]) {
      current.true = Math.min(
        current.true,
        map.false + 1,
      );
      current.false = Math.min(
        current.false,
        map.true
      );
    }
    if (arr2[i] > arr2[i - 1] && arr1[i] > arr1[i - 1]) {
      current.true = Math.min(
        current.true,
        map.true + 1,
      );
      current.false = Math.min(
        current.false,
        map.false
      );
    }
    map = current;
  }
  return Math.min(
    map.false,
    map.true
  );
};
console.log(findSwaps(arr1, arr2));

आउटपुट

1
  1. दो जावास्क्रिप्ट ऑब्जेक्ट्स को कैसे मर्ज करें? दो जावास्क्रिप्ट ऑब्जेक्ट्स को कैसे मर्ज करें?

    दो जावास्क्रिप्ट ऑब्जेक्ट्स को एक साथ मर्ज करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>   &nb

  1. - जावास्क्रिप्ट में दो सरणियों का isSubset जांचना

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो शाब्दिक मानों की दो सरणियां लेता है। फ़ंक्शन को यह निर्धारित करना चाहिए कि दूसरी सरणी पहली सरणी का उपसमुच्चय है या नहीं, इन बातों को ध्यान में रखते हुए -सरणी 1 के सभी मान सरणी 2 में परिभाषित होने चाहिएयदि सरणी 1 में डुप्लिकेट मान मौजूद हैं, तो उन्हें सरणी 2

  1. - JavaScript में सबसे लंबे बढ़ते उपअनुक्रमों की कुल संख्या

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को एकमात्र आर्गुमेंट के रूप में लेता है।हमारा फ़ंक्शन सबसे लंबे बढ़ते उपअनुक्रमों (सन्निकट या असन्निकट) की संख्या ढूंढना आवश्यक है।उदाहरण के लिए, यदि इनपुट है:इनपुटconst arr = [2, 4, 6, 5, 8];आउटपुटconst output = 2;आउटपुट व्याख्याद