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

जावास्क्रिप्ट का उपयोग करके बाइनरी स्ट्रिंग में न्यूनतम फ़्लिप ढूँढना

<घंटा/>

एकरस रूप से बढ़ती हुई स्ट्रिंग:

'0' और '1' की एक स्ट्रिंग नीरस रूप से बढ़ रही है यदि इसमें '0' (संभवतः 0) की कुछ संख्या हो, उसके बाद '1' की कुछ संख्या (संभवतः 0.) हो

समस्या

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और एकमात्र तर्क के रूप में एक बाइनरी स्ट्रिंग, str लेता है।

हम स्ट्रिंग में मौजूद किसी भी '0' से '1' या किसी भी '1' से '0' पर फ़्लिप कर सकते हैं। S को नीरस रूप से बढ़ाने के लिए हमारे फ़ंक्शन को फ़्लिप की न्यूनतम संख्या लौटानी चाहिए।

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

इनपुट

const str = '00110';

आउटपुट

const output = 1;

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

क्योंकि अगर हम अंतिम '0' को '1' पर फ़्लिप करते हैं, तो हमारे पास '00111' स्ट्रिंग रह जाएगी।

उदाहरण

const str = '00110';
const countFlips = (str = '') => {
   const map = {}
   const helper = (index, prev) => {
      map[index] = map[index] || {}
      if (map[index][prev] !== undefined) {
         return map[index][prev]
      }
      if (index >= str.length) {
         return 0
      }
      if (prev === '0') {
         if (str[index] === '0') {
            map[index][prev] = Math.min(helper(index + 1, '0'), helper(index + 1, '1') + 1)
      } else {
         map[index][prev] = Math.min(helper(index + 1, '1'), helper(index + 1, '0') + 1)
      }
      } else if (str[index] === '0') {
         map[index][prev] = helper(index + 1, '1') + 1
      } else {
         map[index][prev] = helper(index + 1, '1')
      }
         return map[index][prev]
      }
   return helper(0, '0')
};
console.log(countFlips(str));

आउटपुट

1

  1. जावास्क्रिप्ट का उपयोग करके एक स्ट्रिंग में सबसे लंबे स्वर सबस्ट्रिंग की लंबाई ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है। हमारे फ़ंक्शन को सबसे लंबे सन्निहित विकल्प की लंबाई लौटानी चाहिए जिसमें केवल स्वर हों। उदाहरण निम्नलिखित कोड है - { let cur =0 let max =0 for (let i =0; i आउटपुट 4

  1. जावास्क्रिप्ट का उपयोग करके किसी अन्य स्ट्रिंग में किसी वर्ण की लगातार सबसे लंबी उपस्थिति ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में एक स्ट्रिंग और दूसरे तर्क के रूप में एक एकल वर्ण लेता है। हमारे फ़ंक्शन को स्ट्रिंग में वर्ण की सबसे लंबी लगातार उपस्थिति को गिनना और वापस करना चाहिए। उदाहरण निम्नलिखित कोड है - const str = 'abcdaaadse'; con

  1. जावास्क्रिप्ट का उपयोग करके एक समान दशमलव मान वाले बाइनरी स्ट्रिंग को सॉर्ट करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक स्ट्रिंग लेता है जिसमें लंबाई 3 के बाइनरी स्ट्रिंग्स होते हैं जो सभी रिक्त स्थान से अलग होते हैं। हमारे फ़ंक्शन को संख्याओं को आरोही क्रम में क्रमबद्ध करना चाहिए, लेकिन केवल सम संख्याओं को क्रमित करना चाहिए और सभी विषम संख्याओं को उनक