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

जावास्क्रिप्ट में बाइनरी में 1 बिट्स की संख्या के आधार पर पूर्णांकों को छाँटना

<घंटा/>

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

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

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

यदि इनपुट ऐरे है -

const arr = [34, 37, 23, 89, 12, 31, 23, 89];

तब आउटपुट ऐरे होगा -

const output = [34, 12, 37, 23, 89, 23, 89, 31];

उदाहरण

निम्नलिखित कोड है -

const arr = [34, 37, 23, 89, 12, 31, 23, 89];
const sortByBinary = (arr = []) => {
   const calculateOne = (str = '') => {
      let res = 0;
      for(let i = 0; i < str.length; i++){
         if(str[i] === '1'){
            res++;
         };
      };
      return res;
   }
   const sorter = (a, b) => {
      const firstCount = calculateOne((a >>> 0).toString(2));
      const secondCount = calculateOne((b >>> 0).toString(2));
      return firstCount - secondCount;
   };
   arr.sort(sorter);
};
sortByBinary(arr);
console.log(arr);

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

[
   34, 12, 37, 23,
   89, 23, 89, 31
]

  1. जावास्क्रिप्ट का उपयोग करते हुए प्रत्येक शब्द में मौजूद संख्या के आधार पर शब्दों की छँटाई

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

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

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

  1. C++ में एक बड़ी बाइनरी संख्या में 1 बिट्स की संख्या ज्ञात कीजिए

    32-बिट अहस्ताक्षरित बाइनरी नंबर को देखते हुए, कार्य सेट बिट्स को गिनना है, यानी, 1 इसमें मौजूद है। उदाहरण के लिए इनपुट: N = 00000000000000100111 आउटपुट: 4 स्पष्टीकरण: दिए गए अहस्ताक्षरित संख्या में मौजूद कुल सेट बिट्स 4 हैं, इस प्रकार हम आउटपुट को 4 के रूप में वापस कर देंगे। इस समस्या को हल क