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

पायथन में सिंगल नंबर II

मान लीजिए कि हमारे पास पूर्णांकों की एक गैर-रिक्त सरणी है, प्रत्येक तत्व एक को छोड़कर तीन बार प्रकट होता है, जो ठीक एक बार प्रकट होता है। हमें एक ही तत्व खोजना है। तो अगर ऐरे [2,2,3,2] है तो आउटपुट 3 होगा।

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

  • सरणी से तत्वों का निरपेक्ष मान लेकर अधिकतम संख्या ज्ञात करें और इसे max_num में संग्रहीत करें

  • max_bits :=पूर्णांक (लॉग मैक्स_नम आधार 2) + 2

  • list1 :=max_bits आकार की एक खाली सूची और जिनके तत्व 0

    . हैं
  • अंकों में प्रत्येक अंक के लिए -

    • स्थिति :=0

    • जबकि संख्या 0 और पॉज़ नहीं है

      • अगर कोई विषम नहीं है, तो list1[pos] को 1 से बढ़ाएं

      • n :=n / 2 और स्थिति को 1 से बढ़ाएँ

  • मेरे लिए 0 से लेकर max_bits तक

    • सूची 1 [i]:=सूची 1 [i] मोड 3

  • स्थिति :=0, रेस :=0

  • मेरे लिए max_bits की सीमा में

    • अगर list1[i] 0 नहीं है, तो परिणाम:=परिणाम + 2^pos

    • स्थिति :=स्थिति + 1

  • अगर list1[max_bits - 1] 1 है, तो res :=-(2^max_bits - res)

  • रिटर्न रेस

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

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

import math
class Solution(object):
   def singleNumber(self, nums):
      max_num = max(map(abs, nums))
      max_bits = (int)(math.log(max_num,2)) + 2
      list1 = [0 for i in range(max_bits)]
      for no in nums:
         pos = 0
         while (no != 0 and pos < max_bits):
            if (no & 1 != 0):
               list1[pos] += 1
            no >>= 1
            pos += 1
      for i in range(max_bits):
         list1[i] %= 3
      pos = 0
      result = 0
      for i in range(max_bits):
         if (list1[i] != 0):
            result += (2 ** pos)
         pos += 1
      print (list1, max_bits)
      if (list1[max_bits - 1] == 1):
         result = -(2 ** max_bits - result)
      return (result)
ob = Solution()
print(ob.singleNumber([2,2,3,2]))

इनपुट

[2,2,3,2]

आउटपुट

[1, 1, 0] 3
3

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

    मान लीजिए कि हमारे पास एक 32-बिट हस्ताक्षरित पूर्णांक संख्या है। हमें संख्या लेनी है और अंकों को उलटना है। तो अगर संख्या 425 की तरह है, तो आउटपुट 524 होगा। एक और बात हमें ध्यान में रखनी होगी कि संख्या हस्ताक्षरित है, इसलिए कुछ नकारात्मक संख्याएं हो सकती हैं। तो अगर संख्या -425 है, तो यह -524 होगी।

  1. फैक्टोरियल () पायथन में

    डेटा विश्लेषण और अजगर से जुड़े अन्य गणितीय विश्लेषण में किसी संख्या का भाज्य ज्ञात करना एक लगातार आवश्यकता है। 1 से शुरू होकर दी गई संख्या तक सभी पूर्णांकों को गुणा करके हमेशा एक धनात्मक पूर्णांक के लिए भाज्य ज्ञात किया जाता है। इसे खोजने के तीन तरीके हो सकते हैं, जैसा कि नीचे दिखाया गया है। फॉर लूप

  1. पायथन में यादृच्छिक संख्या

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