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

JavaScript में समान योग वाली n उप-सरणियाँ ढूंढना


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

फ़ंक्शन को जांचना चाहिए कि क्या हम मूल सरणी से n (दूसरा तर्क) उप-सरणियाँ बना सकते हैं जैसे कि सभी उप-सरणियों का योग समान हो।

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

यदि इनपुट हैं -

const arr = [4, 3, 2, 3, 5, 2, 1];
const num = 4;

आउटपुट true होना चाहिए क्योंकि उप-सरणियाँ हैं: [5], [1, 4], [2, 3], [2, 3] जिनका योग 5 के बराबर है।

उदाहरण

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

const arr = [4, 3, 2, 3, 5, 2, 1];
const num = 4;

const canFormSubarray = (arr = [], num) => {
  const total = arr.reduce((sum, num) => sum + num, 0);
  if (total % num !== 0) {
    return false;
  }
  const target = total / num;
  const visited = new Array(arr.length).fill(false);
  const canPartition = (start, numberOfSubsets, currentSum) => {
    if (numberOfSubsets === 1) {
      return true;
    }
    if (currentSum === target) {
      return canPartition(0, numberOfSubsets - 1, 0);
    };
    for (let i = start; i < arr.length; i++) {
      if (!visited[i]) {
        visited[i] = true;
        if (canPartition(i + 1, numberOfSubsets, currentSum + arr[i])) {
          return true;
        }
        visited[i] = false;
      };
    };
    return false;
  };
  return canPartition(0, num, 0);
};

console.log(canFormSubarray(arr, num));

आउटपुट

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

true

  1. - जावास्क्रिप्ट में न्यूनतम सूचकांक योग वाला सामान्य तत्व

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो literals की दो सरणियां, arr1 और arr2, को पहली और दूसरी आर्गुमेंट के रूप में लेता है। हमारा फ़ंक्शन arr1 और arr2 में सामान्य तत्व को न्यूनतम सूची सूचकांक योग के साथ ढूंढेगा। यदि उत्तरों के बीच टाई है, तो हमें उन सभी को बिना किसी क्रम की आवश्यकता के आउटप

  1. - JavaScript में वांछित योग वाली बाइनरी उपसरणियाँ

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

  1. - Python में सरणी को समान योग वाले k उप-सरणियों में विभाजित करने की संभावना की जांच कैसे करें?

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सरणी है, और एक अन्य मान K भी है। हमें यह जांचना है कि क्या हम सरणी nums को K सन्निकट उप-सरणियों में विभाजित कर सकते हैं ताकि प्रत्येक उप-सरणी का तत्व योग समान हो। तो, यदि इनपुट nums = [2, 5, 3, 4, 7], k = 3 है, तो आउटपुट True होगा क्योंकि हम तीन विभाजन ब