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

JavaScript में संख्याओं के बाइनरी प्रतिनिधित्व में 1s की गणना


समस्या

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

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

const num = 4;

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

const output = [0, 1, 1, 2, 1];

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

क्योंकि 0 में इसके बाइनरी रूप में 0 1s हैं, 1 में 1, और इसी तरह।

उदाहरण

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

const num = 4; 
const mapBinary = (num = 0) => { 
  if (num === 0){ 
    return [0]; 
  }; 
  const res = [0]; 
  for (let i = 1; i <= num; i++) { 
    const n = i % 2 === 0 ? res[i/2] : res[Math.floor(i/2)] + 1; 
    res.push(n); 
  }; 
  return res; 
};

कोड व्याख्या:

बिट्स की गणना करते समय, कुछ चीजें हैं जिन्हें हम ध्यान में रख सकते हैं ताकि हमारे लिए चीजें आसान हो जाएं।

  • numberOfBits(n) === numberOfBits(2*n), दूसरा परिणाम पहले परिणाम की तुलना में एक अधिक 0 बिट प्राप्त करता है।

  • यदि n एक सम संख्या है, तो n का अंतिम बिट 0 होगा।

  • यदि n एक विषम संख्या है, तो परिणाम की गणना को (n-1)/2 के अंतिम बिट को 1 से बदलने के रूप में माना जा सकता है, इसलिए हमें समीकरण numberOfBits(n) === numberOfBits(Math.floor(n / 2)) + 1 मिलता है।

आउटपुट

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

[ 0, 1, 1, 2, 1 ]

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

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

  1. JavaScript नंबर्स उदाहरण JavaScript नंबर्स उदाहरण

    JavaScript में नंबर्स के लिए एक उदाहरण निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> &

  1. JavaScript में सरणी की माध्यिका (Median) की गणना JavaScript में सरणी की माध्यिका (Median) की गणना

    JavaScript में सरणी की माध्यिका (median) की गणना करने का निम्नलिखित कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&g