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

योग K . के साथ JavaScript कुल उप-सरणी

<घंटा/>

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में एक संख्या लेता है। फ़ंक्शन को निरंतर उप-सरणी की कुल संख्या की गणना ढूंढनी चाहिए और वापस करनी चाहिए जिसका योग दूसरे तर्क द्वारा निर्दिष्ट संख्या के बराबर है।

यह गारंटी है कि सरणी में सभी संख्याएँ धनात्मक संख्याएँ हैं।

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

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

const arr = [1, 1, 1];
const sum = 2;

तब आउटपुट 2 होना चाहिए क्योंकि इस सरणी में ठीक दो उप-सरणी हैं जो 2 के बराबर हैं।

हम स्लाइडिंग विंडो एल्गोरिथम का उपयोग करेंगे जो वांछित विंडो (आवश्यक राशि के साथ उप-सरणी) खोजने और उनकी संख्या गिनने के लिए दो-सूचक दृष्टिकोण का उपयोग करता है।

उदाहरण

const arr = [1, 2, 3, 4, 5];
const sum = 5;
// two pointer approach to find one matching subarray
const findOne = (arr, target, start = 0) => {
   let left = start, right = start, sum = 0;
   while(right < arr.length){
      sum += arr[right];
      if(sum === target){
         return true;
      }
      else if(sum < target){
         right++;
      }else{
         left++;
         sum -= left;
         if(left > right){
            right = left;
         };
      };
   };
   return false;
};
// iterating over the array to find all pair count const findAll = (arr = [], target) => {
   let count = 0;
   for(let i = 0; i < arr.length; i++){
      count += findOne(arr, target, i);
   };
   return count;
};
console.log(findAll(arr, sum));
console.log(findAll([1, 1, 1], 2));

आउटपुट

और कंसोल में आउटपुट होगा -

2
2

  1. जावास्क्रिप्ट getPrototypeOf उदाहरण के साथ

    getPrototypeOf() विधि का उपयोग उपयोगकर्ता द्वारा बनाई गई वस्तु के प्रोटोटाइप की जांच करने के लिए किया जाता है और अक्सर तुलना करने के लिए उपयोग किया जाता है कि दो दिए गए ऑब्जेक्ट में समान प्रोटोटाइप है या नहीं। getPrototypeOf() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html

  1. उदाहरण के साथ जावास्क्रिप्ट में वंशानुक्रम

    जावास्क्रिप्ट एक वस्तु-आधारित भाषा है जो प्रोटोटाइप पर आधारित है। प्रोटोटाइप ऑब्जेक्ट का उपयोग करके जावास्क्रिप्ट में वंशानुक्रम लागू किया गया है। जावास्क्रिप्ट में इनहेरिटेंस को लागू करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta

  1. सी ++ में योग के साथ बाइनरी सबएरे

    मान लीजिए कि 0s और 1s की एक सरणी A दी गई है, हमें यह पता लगाना है कि कितने गैर-रिक्त उपसरणियों का योग S है? तो अगर इनपुट [1,0,1,0,1] और एस =2 जैसा है, तो परिणाम 4 होगा, क्योंकि उप-सरणी [1,0,1,0,1], [1,0 ,1,0,1], [1,0,1,0,1], [1,0,1,0,1]। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एटमोस्ट (