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

JavaScript में बाइनरी में 1s के बीच की सबसे लंबी दूरी


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

यदि दो आसन्न 1s नहीं हैं, तो हमें 0 लौटाना होगा।

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

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

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

क्योंकि,

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

ध्यान दें कि "10110" एक वैध जोड़ा नहीं है क्योंकि अंडरलाइन किए गए दो 1s को अलग करने वाला एक 1 है।

उदाहरण

const num = 22; const binaryGap = (num = 1) => {   let last = -1;   let ans = 0; // हर बिट से गुजरें   for (let i = 0; i < 32; i++) {     // जांचें कि बिट `1` है या नहीं। //     // यदि सच है, तो पिछले `1` के साथ सबसे लंबी दूरी की गणना करें     // यदि `1` पहले मिला था।     if ((num >> i) & 1 > 0) {       if (last >= 0) {         ans = Math.max(ans, i - last);       }       last = i;     }   }   return ans; }; console.log(binaryGap(num));

आउटपुट

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

2

  1. - JavaScript से टेक्स्ट में लाइन्स के बीच की दूरी कैसे सेट करें?

    उदाहरण lineHeight प्रॉपर्टी से टेक्स्ट लाइन्स के बीच की ऊंचाई सेट करें। <!DOCTYPE html> <html> <body> <h1>हेडिंग 1</h1> <p id=myID>यह डेमो टेक्स्ट है।<br>यह डेमो टेक्स्ट<br>यह डेमो टेक्स्ट</p> <button type=button onclick=display(

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

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

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

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