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

JavaScript में विशिष्ट योग प्राप्त करने के तरीके


समस्या

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

सरणी में प्रत्येक पूर्णांक के लिए, हमारा फ़ंक्शन या तो '+' या '-' असाइन कर सकता है।

हमारे फ़ंक्शन को यह पता लगाना चाहिए कि सरणी के पूर्णांकों का योग लक्ष्य योग target के बराबर बनाने के लिए '+' और '-' असाइन करने के कुल कितने तरीके मौजूद हैं।

उदाहरण

यदि फ़ंक्शन का इनपुट है:

const arr = [1, 1, 1, 1, 1]; const target = 3;

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

const output = 5;

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

क्योंकि 5 तरीके हैं:

-1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3

कोड

const arr = [1, 1, 1, 1, 1]; const target = 3; const waysToSum = (arr = [], target = 1) => {    const map = {};    const find = (arr, target, i) => {       let val = i + '->' + target;       if(map[val] !== undefined){          return map[val];       };       if(i === 0){          if (target === 0 && arr[0] === 0) { return 2 }          return arr[0] === target || arr[0] === -target ? 1 : 0       };       map[val] = find(arr, target + arr[i], i - 1) + find(arr, target - arr[i], i - 1);       return map[val]    };    return find(arr, target, arr.length-1) }; console.log(waysToSum(arr, target));

आउटपुट

कंसोल में आउटपुट होगा:

5
  1. जावास्क्रिप्ट में वेरिएबल डिफाइन करने के विभिन्न तरीके जावास्क्रिप्ट में वेरिएबल डिफाइन करने के विभिन्न तरीके

    जावास्क्रिप्ट में वेरिएबल डिफाइन करने के तीन तरीके हैं: let - जावास्क्रिप्ट let कीवर्ड जिसे 2015 में पेश किया गया था, हमें ब्लॉक-स्कोप्ड वेरिएबल्स डिफाइन करने की अनुमति देता है। let का उपयोग करके डिक्लेयर किए गए वेरिएबल्स होइस्ट नहीं होते। var - जावास्क्रिप्ट var कीवर्ड का उपयोग फंक्शन-स्कोप्ड वेर

  1. JavaScript में सरणी खाली करने के तरीकों की संख्या JavaScript में सरणी खाली करने के तरीकों की संख्या

    JavaScript में सरणी खाली करने के चार तरीके हैं:नई सरणी पर सेट करना - इसमें हम अपनी सरणी वेरिएबल को एक नई खाली सरणी पर सेट करते हैं।length प्रॉपर्टी का उपयोग - इसमें हम अपनी सरणी की length प्रॉपर्टी को 0 पर सेट करते हैं।pop का उपयोग - इसमें हम सरणी के एलिमेंट्स को लगातार पॉप करते हैं जब तक लंबाई 0 न

  1. जावास्क्रिप्ट में new.target जावास्क्रिप्ट में new.target

    new.target एक मेटाप्रॉपर्टी है जो हमें रनटाइम पर यह निर्धारित करने की अनुमति देती है कि कोई फ़ंक्शन या कंस्ट्रक्टर new कीवर्ड का उपयोग करके बुलाया गया था या नहीं। जावास्क्रिप्ट में new.target के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me