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

पायथन में बिट्स की गिनती


मान लीजिए कि हमारे पास एक गैर-ऋणात्मक पूर्णांक संख्या है। 0 i संख्या की श्रेणी में प्रत्येक संख्या के लिए हमें उनके बाइनरी समकक्ष में 1 की संख्या की गणना करनी होगी और उन्हें एक सूची के रूप में वापस करना होगा। अतः यदि संख्या 5 है, तो संख्याएँ [0, 1, 2, 3, 4, 5] हैं, और इन संख्याओं में 1 की संख्या [0, 1, 1, 2, 1, 2]

है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • res :=एक सरणी जिसमें num + 1 संख्या 0s होती है
  • ऑफ़सेट:=0
  • i के लिए 1 से num + 1 की श्रेणी में
    • यदि i और i – 1 =0, तो res[i] :=1 और ऑफ़सेट :=0
    • अन्यथा ऑफसेट को 1 से बढ़ाएं और res[i] :=1 + res[offset]
  • रिटर्न रेस

उदाहरण (पायथन)

एक बेहतर समझ प्राप्त करने के लिए आइए निम्नलिखित कार्यान्वयन को देखें -

class Solution:
   def countBits(self, num):
      result = [0] * (num+1)
      offset = 0
      for i in range(1,num+1):
         if i & i-1 == 0:
            result[i] = 1
            offset = 0
         else:
            offset+=1
            result[i] = 1 + result[offset]
      return result
ob1 = Solution()
print(ob1.countBits(6))

इनपुट

6

आउटपुट

[0, 1, 1, 2, 1, 2, 2]

  1. काउंटिंग सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें काउंटिंग सॉर्ट की अवधारणा का उपयोग करके ऐरे को सॉर्ट करने की आवश्यकता है। काउंटिंग सॉर्ट एक ऐसी तकनीक है जिसमें हम एक विशिष्ट रेंज के बीच की चाबियों पर काम करते हैं। इसमें उन वस्तुओं की

  1. issuperset () पायथन में

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस

  1. पायथन में राइट शिफ्ट (>>) ऑपरेटर क्या है?

    को राइट शिफ्ट ऑपरेटर कहा जाता है। यह थोड़ा सा ऑपरेटर है। इसे पहले ऑपरेंड के रूप में वस्तु के थोड़ा सा प्रतिनिधित्व की आवश्यकता होती है। बिट्स को दूसरे ऑपरेंड द्वारा निर्धारित बिट्स की संख्या से दाईं ओर स्थानांतरित किया जाता है। स्थानांतरण के परिणामस्वरूप बाईं ओर ले जाने वाले बिट्स 0 पर सेट होते हैं।