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

पायथन में एक स्ट्रीम में Kth सबसे बड़ा तत्व

मान लीजिए कि हम धारा में kth सबसे बड़ा तत्व खोजने के लिए एक वर्ग डिजाइन करना चाहते हैं। यह क्रमबद्ध क्रम में kth सबसे बड़ा तत्व है, kth विशिष्ट तत्व नहीं है।

KthLargest वर्ग में एक कंस्ट्रक्टर होगा जो एक पूर्णांक k और एक सरणी संख्या को स्वीकार करता है, जिसमें स्ट्रीम से प्रारंभिक तत्व होंगे। KthLargest.add विधि में प्रत्येक कॉल के लिए, स्ट्रीम में kth सबसे बड़े तत्व का प्रतिनिधित्व करने वाला तत्व लौटाएगा।

इसलिए, यदि इनपुट k =3 की तरह है, प्रारंभिक तत्व =[4,5,8,2], तो कॉल जोड़ें(3), जोड़ें(5), जोड़ें(10), जोड़ें(9), जोड़ें(4) . , तो आउटपुट क्रमशः 4,5,5,8,8 होगा।

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

  • इनिशियलाइज़र को परिभाषित करें, इसमें k, अंक लगेंगे
    • सरणी:=अंक
  • एक फंक्शन ऐड () को परिभाषित करें। इसमें वैल लगेगा
    • सरणी के अंत में वैल डालें
    • सरणी क्रमबद्ध करें
    • रिटर्न ऐरे [सरणी का आकार -k]

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

उदाहरण

class KthLargest:
   def __init__(self, k, nums):
      self.array = nums
      self.k = k
   def add(self, val):
      self.array.append(val)
      self.array.sort()
      return self.array[len(self.array)-self.k]
ob = KthLargest(3, [4,5,8,2])
print(ob.add(3))
print(ob.add(5))
print(ob.add(10))
print(ob.add(9))
print(ob.add(4))

इनपुट

ob.add(3)
ob.add(5)
ob.add(10)
ob.add(9)
ob.add(4)

आउटपुट

4
5
5
8
8

  1. पायथन में एक BST में Kth सबसे छोटा तत्व

    मान लीजिए कि हमारे पास एक बाइनरी सर्च ट्री है। हमें उस BST में Kth सबसे छोटा तत्व खोजना है। तो अगर पेड़ जैसा है - तो अगर हम तीसरा सबसे छोटा तत्व खोजना चाहते हैं, तो k =3, और परिणाम 7 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - नोड्स नामक एक खाली सूची बनाएं कॉल सॉल्व (रूट, नोड्स) रिटर

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

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

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक इनपुट के रूप में एक सरणी को देखते हुए, हमें सरणी में सबसे बड़ा तत्व खोजने की जरूरत है। दृष्टिकोण हम अधिकतम को पहले तत्व के रूप में प्रारंभ करते हैं। इसके बाद, हम दिए गए सरणी को दूसरे तत्व से अ