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

JavaScript में n स्वैप के बाद अधिकतम लगातार 1s


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो एक बाइनरी सरणी (सरणी जिसमें केवल 0 या 1 हैं) arr को पहले आर्गुमेंट के रूप में और एक संख्या num को दूसरे आर्गुमेंट के रूप में लेता है।

हम सरणी में मौजूद अधिकतम num 0s को 1s में बदल सकते हैं, और हमारे फ़ंक्शन को इन परिवर्तनों को करने के बाद केवल 1s वाले सबसे लंबे (सन्निकट) उपसरणी की लंबाई वापस करनी चाहिए।

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

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

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

const output = 6;

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

क्योंकि दो जीरो को 1 में बदलने के बाद, सरणी के अंतिम 6 तत्व 1 होंगे।

उदाहरण

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

const arr = [1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0]; 
const num = 2; 
const longestOnes = (arr = [], num = 1) => { 
  let max = 0; 
  let left = 0; 
  let curr = num; 
  for(let right = 0; right < arr.length; right++){ 
    if(arr[right] === 0){ 
      curr -= 1; 
    }; 
    while(curr < 0){ 
      if(arr[left] === 0){ 
        curr += 1; 
      }; 
      left += 1; 
    }; 
    max = Math.max(max, right - left + 1); 
  }; 
  return max; 
}; 
console.log(longestOnes(arr, num));

आउटपुट

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

6

  1. - JavaScript में n अंक हटाने के बाद सबसे छोटी संख्या

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो दो संख्याएं लेता है, मान लीजिए उन्हें m और n पहली और दूसरी आर्ग्युमेंट के रूप में कहते हैं।हमारे फ़ंक्शन का कार्य संख्या m से n अंक हटाना है ताकि संख्या m n अंक हटाने के बाद सबसे छोटी संभव संख्या हो। और अंत में, फ़ंक्शन को अंक हटाने के बाद संख्या m वापस क

  1. - JavaScript में संबंधित संख्याओं के बाद छोटी संख्याओं की गिनती

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

  1. - JavaScript में सबसे लंबी लगातार जोड़ श्रृंखला ढूंढना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं के जोड़े की एक सरणी arr को एकमात्र आर्गुमेंट के रूप में लेता है। प्रत्येक जोड़े में, पहली संख्या हमेशा दूसरी संख्या से छोटी होती है।अब, हम एक जोड़ी (c, d) को परिभाषित करते हैं जो दूसरी जोड़ी (a, b) का अनुसरण कर सकती है यदि और केवल यदि b < c। इस त