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

जावास्क्रिप्ट में 0 और 1 के साथ सन्निहित उपसरणी

<घंटा/>

समस्या:

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो एक बाइनरी सरणी, एआर, (एक सरणी जिसमें केवल 0 या 1 होता है) लेता है। हमारे फ़ंक्शन को 1 और 0 की समान संख्या वाले सरणी से सन्निहित उप-सरणी की लंबाई वापस करनी चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [1, 0, 0, 1, 0, 1, 0, 0];

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

const output = 6;

आउटपुट स्पष्टीकरण

सरणी के पहले 6 तत्व 1, 0, 0, 1, 0, 1 (तीन 1s और तीन 0s) हैं

उदाहरण

इसके लिए कोड होगा -

const arr = [1, 0, 0, 1, 0, 1, 0, 0];
const findMaxLength = (arr = []) => {
   const { length } = arr;
   if (length < 2){
      return 0
   };
   const map = new Map();
   map.set(0, -1);
   let sum = 0;
   let max = 0;
   for (var i = 0; i < length; i++) {  
      sum += arr[i] === 0 ? -1 : 1;
      if (map.has(sum)) {
         max = Math.max(max, i - map.get(sum));
      } else {
         map.set(sum, i);
      };
   };
   return max;
};
console.log(findMaxLength(arr));

कोड स्पष्टीकरण

यहां, हमने 0 को -1 और 1 को 1 माना और विभिन्न विंडो के लिए योग की गणना की, जब योग 0 होता है, तो हम जानते थे कि सबअरे में 0 और 1 की संख्या समान होनी चाहिए।

आउटपुट

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

6

  1. जावास्क्रिप्ट में कॉल () और लागू () के साथ कार्यों को आमंत्रित करना

    जावास्क्रिप्ट में कॉल () और लागू () के साथ कार्यों को लागू करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"

  1. जावास्क्रिप्ट और सीएसएस के साथ टाइपिंग और प्रभाव हटाना

    CSS एनिमेशन की मदद से, हम जावास्क्रिप्ट का उपयोग करके टाइपराइटर टाइपिंग और डिलीट इफेक्ट बना सकते हैं। निम्न उदाहरण इस प्रभाव को दर्शाता है। उदाहरण <!DOCTYPE html> <html> <style> div {    display: flex;    margin: 4%;    padding: 2%;    box-s

  1. जावास्क्रिप्ट के साथ सीएसएस चर प्राप्त करें और सेट करें

    GetComputedStyle () विधि एक वस्तु देती है जिसमें लक्ष्य तत्व पर लागू सभी शैलियाँ शामिल होती हैं। getPropertyValue() विधि का उपयोग गणना की गई शैलियों से वांछित संपत्ति प्राप्त करने के लिए किया जाता है। CSS वेरिएबल के मान को बदलने के लिए setProperty() का उपयोग किया जाता है। उदाहरण निम्नलिखित उदाहरण ब