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

JavaScript में समान योग वाली उप-सरणी जोड़ियां

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

फ़ंक्शन को यह निर्धारित करना चाहिए कि क्या सरणी को दो उप-सरणियों में विभाजित करने का कोई तरीका मौजूद है जैसे कि दोनों उप-सरणियों में मौजूद तत्वों का योग समान हो। उप-सरणियों में तत्वों को विभाजित करते समय हमें यह सुनिश्चित करना होगा कि मूल सरणी का कोई तत्व न छूटे।

उदाहरण

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

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

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

const output = true;

क्योंकि वांछित उप-सरणियां हैं: [5, 3, 4, 6] और [7, 1, 8, 2] जिन दोनों का योग 18 के बराबर है।

कोड उदाहरण

const arr = [5, 3, 7, 4, 1, 8, 2, 6];
const canPartition = (arr = []) => {
  const sum = arr.reduce((acc, val) => acc + val);
  if (sum % 2 !== 0){
    return false;
  };
  const target = sum / 2;
  const array = new Array(target + 1).fill(false);
  array[0] = true;
  for (const num of arr) {
    if (array[target - num]){
      return true
    };
    for (let i = target; i >= num; i--) {
      array[i] = array[i - num];
    }
  }
  return false;
};
console.log(canPartition(arr));

आउटपुट

true
  1. JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स

    const ES2015 (ES6) में पेश किया गया एक ब्लॉक-स्कोप्ड वेरिएबल डिक्लेरेशन है जो रीअसाइनमेंट को रोकता है। यह आधुनिक JavaScript में डिफ़ॉल्ट विकल्प होना चाहिए जब रीअसाइनमेंट की आवश्यकता न हो। उदाहरण { try { a = 44; // TypeError: Assignment to constant variable } catch (e

  1. JavaScript में Const vs Let JavaScript में Const vs Let

    Const और let को ES2015 में ब्लॉक-स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि let का उपयोग करके घोषित वेरिएबल को पुनः असाइन किया जा सकता है, const का उपयोग करके घोषित वेरिएबल को पुनः असाइन नहीं किया जा सकता। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me

  1. - JavaScript में यूनिट अंतर वाली सबसे लंबी उपसरणी

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी, arr, को पहला और एकमात्र तर्क के रूप में लेता है। हमारे फ़ंक्शन को ऐसी उपसरणी की लंबाई ढूंढनी और वापस करनी चाहिए जहां उसके अधिकतम मान और न्यूनतम मान का अंतर ठीक 1 हो। उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है - const arr = [2, 4, 3, 3, 6