কম্পিউটার

পাইথনে লক্ষ্যের চেয়ে বৃহত্তর ক্ষুদ্রতম অক্ষর খুঁজুন


ধরুন আমাদের কাছে সাজানো অক্ষরের অক্ষরগুলির একটি তালিকা রয়েছে। এটিতে শুধুমাত্র ছোট হাতের অক্ষর রয়েছে, এখন আমাদের কাছে একটি লক্ষ্য অক্ষর t আছে, আমাদের তালিকার সবচেয়ে ছোট উপাদানটি খুঁজে বের করতে হবে যা প্রদত্ত লক্ষ্যের চেয়ে বড়।

এবং চিঠিগুলিও চারপাশে মোড়ানো। সুতরাং, যদি লক্ষ্য হয় t ='z' এবং অক্ষর =['a', 'b'], উত্তর হবে 'a'।

সুতরাং, যদি ইনপুট হয় ["c", "f", "j"], t ='a', তাহলে আউটপুট হবে 'c'।

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

  • l :=0
  • r :=অক্ষরের আকার - 1
  • যখন l <=r, do
    • মধ্য :=(l + r) / 2 পূর্ণসংখ্যা হিসাবে
    • যদি অক্ষর[মধ্য]> টার্গেট, তাহলে
      • r :=মধ্য -1
    • অন্যথায়,
      • l :=মধ্য + 1
  • রিটার্ন অক্ষর[l মোড সাইজ অক্ষর]

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

উদাহরণ

class Solution:
   def nextGreatestLetter(self, letters, target):
      l = 0
      r = len(letters) - 1
      while l <= r:
         mid = (l + r)//2
         if letters[mid] > target:
            r = mid -1
         else:
            l = mid + 1
      return letters[l % len(letters)]
ob = Solution()
print(ob.nextGreatestLetter(["c", "f", "j"], "a"))

ইনপুট

["c", "f", "j"], "a"

আউটপুট

c

  1. K-এর থেকে বড় সংখ্যার পাইথন সূচক

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

  3. পাইথনে x এর চেয়ে বড় ছোট সংখ্যাটি কীভাবে খুঁজে পাওয়া যায়?

  4. পাইথন ব্যবহার করে এলসিএম কীভাবে খুঁজে পাবেন?