কম্পিউটার

পাইথনে k আকারের আভিধানিক দিক থেকে ক্ষুদ্রতম অনুক্রম খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে বলা হয় সংখ্যা এবং আরেকটি মান k, আমাদের অভিধানিকভাবে k আকারের ক্ষুদ্রতম অনুক্রমটি খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[2, 3, 1, 10, 3, 4] k =3, তাহলে আউটপুট হবে [1, 3, 4]

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

  • l :=সংখ্যার আকার, r :=k - 1
  • আউট :=একটি নতুন তালিকা
  • 0 থেকে k রেঞ্জের মধ্যে j-এর জন্য
  • করুন
    • mn :=সংখ্যা[r এর পরিপূরক]
    • আমি r থেকে l রেঞ্জের জন্য, কর
      • যদি mn>=nums[i এর পরিপূরক], তাহলে
        • mn :=সংখ্যা[i এর পরিপূরক]
        • l :=i
    • r :=r - 1
  • আউটের শেষে mn ঢোকান
  • রিটার্ন আউট

উদাহরণ (পাইথন)

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

class Solution:
   def solve(self, nums, k):
      l, r = len(nums), k - 1
      out = []
      for j in range(k):
         mn = nums[~r]
         for i in range(r, l):
            if mn >= nums[~i]:
               mn = nums[~i]
               l = i
         r -= 1
         out.append(mn)
   return out
ob = Solution()
nums = [2, 3, 1, 10, 3, 4]
k = 3
print(ob.solve(nums, k))

ইনপুট

[2, 3, 1, 10, 3, 4], 3

আউটপুট

[1, 3, 4]

  1. পাইথনে এক অদলবদল সহ লেক্সিকোগ্রাফিকভাবে সবচেয়ে ছোট স্ট্রিং খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে রৈখিক সময়ে আকার 3 এর একটি সাজানো অনুক্রম খুঁজুন

  3. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  4. একটি 2D অ্যারেতে k'th ক্ষুদ্রতম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম