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

बाइनरी जावास्क्रिप्ट में 1s के बीच सबसे लंबी दूरी

<घंटा/>

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

अगर कोई दो आसन्न 1 नहीं हैं, तो हमें 0 वापस करना होगा।

दो 1 आसन्न हैं यदि केवल 0 उन्हें अलग कर रहे हैं (संभवतः 0 नहीं)। दो 1 के बीच की दूरी उनकी बिट स्थिति के बीच पूर्ण अंतर है। उदाहरण के लिए, "1001" में दो 1 की दूरी 3 है।

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

यदि इनपुट 22 है, तो आउटपुट 2 होना चाहिए,

क्योंकि,

  • 22 का बाइनरी कोड 10110 है
  • 1 का पहला आसन्न जोड़ा 2 की दूरी के साथ "10110" है।
  • 1 का दूसरा निकटवर्ती जोड़ा "10110" है जिसकी दूरी 1 है।
  • उत्तर इन दो दूरियों में सबसे बड़ा है, जो 2 है।

ध्यान दें कि "10110" एक मान्य युग्म नहीं है क्योंकि वहाँ 1 है जो दो 1 को रेखांकित करता है।

उदाहरण

const num = 22;
const binaryGap = (num = 1) => {
   let last = -1;
   let ans = 0; // go through every bit
   for (let i = 0; i < 32; i++) {
      // check whether the bit is `1`. //
      if true, calculate the longest distance with
      // previous `1` if `1` was previously found.
      if ((num >> i) & 1 > 0) {
         if (last >= 0) {
            ans = Math.max(ans, i - last);
         }
         last = i;
      }
   }
   return ans;
};
console.log(binaryGap(num));

आउटपुट

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

2

  1. जावास्क्रिप्ट के साथ टेक्स्ट में लाइनों के बीच की दूरी कैसे सेट करें?

    लाइनों के बीच की दूरी निर्धारित करने के लिए, लाइनहाइट . का उपयोग करें संपत्ति। जावास्क्रिप्ट के साथ टेक्स्ट में लाइनों के बीच की दूरी निर्धारित करने के लिए आप निम्न कोड चलाने का प्रयास कर सकते हैं - उदाहरण <!DOCTYPE html> <html>    <body>       <h1>H

  1. जावास्क्रिप्ट में बाइनरी सर्च ट्री

    एक बाइनरी सर्च ट्री एक विशेष व्यवहार प्रदर्शित करता है। एक नोड के बाएँ बच्चे का मान उसके माता-पिता के मान से कम होना चाहिए और नोड के दाएँ बच्चे का मान उसके मूल मान से अधिक होना चाहिए। हम इस खंड में पेड़ों पर ज्यादातर ऐसे पेड़ों पर ध्यान देंगे। बाइनरी सर्च ट्री पर ऑपरेशन हम बाइनरी सर्च ट्री पर नि

  1. जावास्क्रिप्ट में बाइनरी ट्री

    बाइनरी ट्री एक विशेष डेटा संरचना है जिसका उपयोग डेटा संग्रहण उद्देश्यों के लिए किया जाता है। एक बाइनरी ट्री की एक विशेष शर्त होती है कि प्रत्येक नोड में अधिकतम दो बच्चे हो सकते हैं। एक बाइनरी ट्री में एक क्रमबद्ध सरणी और एक लिंक की गई सूची दोनों के लाभ होते हैं क्योंकि खोज एक क्रमबद्ध सरणी में जितनी