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

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

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

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

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

  • एक क्यू बनाकर क्लास को आरंभ करें, प्रारंभ में यह खाली है
  • ping() फ़ंक्शन परिभाषित करें। यह t लेगा
  • जब क्यू का आकार 0 नहीं है और t - queue[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 है। इस सरणी में कई संख्याएं हैं जो दो बार होती हैं। केवल एक तत्व एक बार पाया जा सकता है। हमें उस तत्व को उस सरणी से ढूंढना है। मान लीजिए A = [1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार है, हम उस तत्व को कैंसिल करने के लिए XOR कर सकते हैं। क्यो

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

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

  1. - Python में factorial()

    किसी संख्या का फैक्टोरियल ढूंढना डेटा विश्लेषण और Python में शामिल अन्य गणितीय विश्लेषण में एक बार-बार आने वाली आवश्यकता है। फैक्टोरियल हमेशा एक पॉजिटिव इंटीजर के लिए 1 से दी गई संख्या तक के सभी पूर्णांकों को गुणा करके पाया जाता है। इसके लिए तीन दृष्टिकोण हो सकते हैं जैसा कि नीचे दिखाया गया है।For L