কম্পিউটার

পাইথনের দুটি স্ট্রিংয়ের মধ্যে অভিধানগতভাবে বড় বা নয় এমন কোনো স্থানচ্যুতি আছে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের একই আকারের দুটি স্ট্রিং s এবং t আছে, আমাদের পরীক্ষা করতে হবে s-এর কিছু স্থানান্তর আছে কিনা, বলুন s1, এবং t-এর পারমুটেশন, বলুন t1, যেমন:s1[i] ≤ t1[i] সবার জন্য 0 ≤ i

সুতরাং, যদি ইনপুটটি s ="vyx" t ="wzx" এর মত হয়, তাহলে আউটপুট হবে True, যেমন আমাদের s1 ="vxy" এবং t1 ="wxz" থাকতে পারে।

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

  • যদি s এবং t খালি হয়, তাহলে
    • সত্য ফেরান
  • s :=স্ট্রিং s সাজান
  • t :=স্ট্রিং টি সাজান
  • একটি ফাংশন util() সংজ্ঞায়িত করুন। এটি s1, s2
  • লাগবে৷
  • আমি 0 থেকে s1 আকারের রেঞ্জের জন্য,
      করুন
    • যদি s1[i]> t1[i] হয়, তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান
  • প্রধান পদ্ধতি থেকে নিম্নলিখিতগুলি করুন -
  • যদি util(s, t) সত্য হয়, তাহলে
    • সত্য ফেরান
  • s এবং t অদলবদল করুন
  • ইউটিল(গুলি, টি) ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, s, t):
      if not len(s) or not len(t):
         return True
         s = sorted(s)
         t = sorted(t)
   def util(s1, t1):
      for i in range(len(s1)):
         if s1[i] > t1[i]:
            return False
         return True
         if util(s, t):
            return True
      s, t = t, s
      return util(s, t)
ob = Solution()
s = "vyx"
t = "wzx"
print(ob.solve(s, t))

ইনপুট

"vyx", "wzx"

আউটপুট

True

  1. দুটি স্ট্রিং একই কিনা তা পরীক্ষা করার জন্য সি প্রোগ্রাম

  2. একটি গ্রাফে কোনো সাধারণ পৌঁছানো যোগ্য নোড আছে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম পাইথনে নেই

  3. দুটি স্ট্রিংকে বিভাজন করার প্রোগ্রাম যাতে প্রতিটি পার্টিশন পাইথনে অ্যানাগ্রাম তৈরি করে

  4. পাইথনে k পর্যন্ত যোগফলের তালিকায় যেকোনো দুটি সংখ্যা খুঁজে বের করার প্রোগ্রাম