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

JavaScript में सरणी को लगातार उपअनुक्रमों में विभाजित करना

समस्या

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

हमारा फ़ंक्शन true लौटाना चाहिए यदि और केवल यदि हम सरणी को 1 या अधिक उपअनुक्रमों में विभाजित कर सकते हैं जैसे कि प्रत्येक उपअनुक्रम में लगातार पूर्णांक हों और लंबाई कम से कम 3 हो, अन्यथा false।

उदाहरण के लिए, यदि इनपुट है:

इनपुट

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

आउटपुट

const output = true;

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

हम उन्हें दो लगातार उपअनुक्रमों में विभाजित कर सकते हैं:

1, 2, 3 3, 4, 5

उदाहरण

निम्नलिखित कोड है:

const arr = [1, 2, 3, 3, 4, 5]; const canSplit = (arr = []) => {   const count = arr.reduce((acc, num) => {     acc[num] = (acc[num] || 0) + 1;     return acc;   }, {});   const needed = {};   for (const num of arr) {     if (count[num] <= 0) {       continue;     }     count[num] -= 1;     if (needed[num] > 0) {       needed[num] -= 1;       needed[num + 1] = (needed[num + 1] || 0) + 1;     } else if (count[num + 1] > 0 && count[num + 2]) {       count[num + 1] -= 1;       count[num + 2] -= 1;       needed[num + 3] = (needed[num + 3] || 0) + 1;     } else {       return false;     }   }   return true; }; console.log(canSplit(arr));

आउटपुट

true
  1. - JavaScript में सरणी की सरणी को ऑब्जेक्ट में बदलना

    मान लीजिए हमारे पास सरणियों की एक सरणी है जिसमें एक क्रिकेट खिलाड़ी का प्रदर्शन इस तरह से है - const arr = [ [Name, V Kohli], [Matches, 13], [Runs, 590], [Highest, 183], [NO, 3], [SR, 131.5] ]; हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी सरणी की सरणी लेता है। यहां, प्रत्येक उप-सरणी एक कु

  1. - क्या JavaScript में सरणी को समान योग वाले n विभाजनों में बाँटा जा सकता है?

    हमें एक JavaScript फ़ंक्शन लिखना है जो पहली आर्ग्युमेंट के रूप में संख्याओं की एक सरणी arr और दूसरी आर्ग्युमेंट के रूप में एक संख्या num लेता है।फ़ंक्शन को यह निर्धारित करना चाहिए कि क्या सरणी arr के तत्वों को num समूहों में वितरित करने का कोई तरीका है जिससे सभी समूहों का योग समान हो। यदि ऐसा कोई तर

  1. - C++ में सरणी को लगातार उपअनुक्रमों में विभाजित करना

    मान लीजिए हमारे पास एक सरणी nums है जो आरोही क्रम में क्रमबद्ध है। हमें true लौटाना है यदि और केवल यदि हम इसे 1 या अधिक उपअनुक्रमों में विभाजित कर सकते हैं जैसे कि प्रत्येक उपअनुक्रम में लगातार पूर्णांक हों और जिसकी लंबाई कम से कम 3 हो। इसलिए यदि इनपुट [1,2,3,3,4,4,5,5] है, तो आउटपुट True होगा, क्य