কম্পিউটার

পাইথনে একটি স্ট্রীমের Kth বৃহত্তম উপাদান


ধরুন আমরা একটি স্ট্রীমের kth বৃহত্তম উপাদান খুঁজে পেতে একটি ক্লাস ডিজাইন করতে চাই। এটি সাজানো ক্রমে kth বৃহত্তম উপাদান, kth স্বতন্ত্র উপাদান নয়৷

KthLargest ক্লাসে একটি কনস্ট্রাক্টর থাকবে যা একটি পূর্ণসংখ্যা k এবং একটি অ্যারে সংখ্যা গ্রহণ করে, যাতে স্ট্রিম থেকে প্রাথমিক উপাদান থাকবে। KthLargest.add পদ্ধতিতে প্রতিটি কলের জন্য, স্ট্রীমের kth বৃহত্তম উপাদানের প্রতিনিধিত্বকারী উপাদানটি ফিরিয়ে দেবে।

সুতরাং, যদি ইনপুট হয় k =3, প্রাথমিক উপাদান =[4,5,8,2], তাহলে add(3), add(5), add(10), add(9), add(4) কল করুন। . , তাহলে আউটপুট হবে যথাক্রমে 4,5,5,8,8।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • ইনিশিয়ালাইজার সংজ্ঞায়িত করুন, এতে k, nums
      লাগবে
    • অ্যারে :=সংখ্যা
  • একটি ফাংশন সংজ্ঞায়িত করুন add()। এটি val
      লাগবে
    • অ্যারের শেষে val সন্নিবেশ করান
    • অ্যারে সাজান
    • রিটার্ন অ্যারে[অ্যারের আকার -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. পাইথনের বৃহত্তম ত্রিভুজ এলাকা

  2. পাইথনে একটি BST-তে Kth ক্ষুদ্রতম উপাদান

  3. পাইথন প্রোগ্রাম একটি অ্যারের বৃহত্তম উপাদান খুঁজে বের করতে

  4. একটি অ্যারের বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম