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

पायथन में हाल की कॉलों की संख्या

मान लीजिए कि हम हाल के अनुरोधों को गिनने के लिए हाल के काउंटर नामक एक वर्ग लिखना चाहते हैं। इस वर्ग में केवल एक ही विधि है:पिंग (टी), जहां टी मिलीसेकंड में कुछ समय का प्रतिनिधित्व कर रहा है। यह 3000 मिलीसेकंड से अब तक बनाए गए पिंग्स की संख्या लौटाएगा। [t - 3000, t] में समय के साथ किसी भी पिंग की गिनती होगी, जिसमें वर्तमान पिंग भी शामिल है। और यह गारंटी है कि प्रत्येक कॉल टॉपिंग पहले की तुलना में t के एक बड़े मूल्य का उपयोग करता है।

इसलिए, यदि इनपुट कॉल पिंग चार गुना पिंग (1), पिंग (100), पिंग (3001), पिंग (3002) की तरह है, तो आउटपुट क्रमशः 1,2,3,3 होगा।

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

  • एक कतार बनाकर कक्षा प्रारंभ करें, प्रारंभ में यह खाली है
  • फ़ंक्शन पिंग () को परिभाषित करें। इसमें समय लगेगा
  • जबकि कतार का आकार 0 और t - कतार [0]> 3000 नहीं है, करें
    • कतार से पहला तत्व हटाएं
  • कतार के अंत में t डालें
  • कतार का वापसी आकार

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

उदाहरण

class RecentCounter:
   def __init__(self):
      self.queue = []
   def ping(self, t):
      while len(self.queue) and t - self.queue[0] > 3000:
         self.queue.pop(0)
         self.queue.append(t)
      return len(self.queue)
ob = RecentCounter()
print(ob.ping(1))
print(ob.ping(100))
print(ob.ping(3001))
print(ob.ping(3002))

इनपुट

ob.ping(1) ob.ping(100) ob.ping(3001) ob.ping(3002)

आउटपुट

1
2
3
3

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

    मान लीजिए कि हमारे पास एक सरणी A है। इस सरणी में कई संख्याएँ हैं जो दो बार आती हैं। एक बार में केवल एक ही तत्व पाया जा सकता है। हमें उस ऐरे से उस एलीमेंट को खोजना है। मान लीजिए ए =[1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार होती है, हम उस तत्व को रद्द करने के लिए एक्सओआर कर

  1. पायथन में पैलिंड्रोम संख्या

    मान लीजिए हमारे पास पूर्णांक है। हमें यह जांचना है कि पूर्णांक पैलिंड्रोम है या नहीं। तो क्या पूर्णांक आगे या विपरीत क्रम में समान है, तो संख्या पैलिंड्रोम है। उदाहरण के लिए मान लीजिए कि संख्या 454 है, यदि हम इसे उलट दें तो यह फिर से 454 हो जाएगी। तो यह पैलिंड्रोम है। अब यदि संख्या -565 है, तो 565-

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

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