কম্পিউটার

পাইথনে বন্ধনী ভারসাম্যপূর্ণ কি না তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি স্ট্রিং আছে যার মধ্যে বন্ধনী "(" এবং ")" রয়েছে। আমাদের পরীক্ষা করতে হবে বন্ধনীগুলি সুষম কিনা।

সুতরাং, যদি ইনপুট s ="(()())(())" এর মত হয়, তাহলে আউটপুট হবে True

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

  • num_open :=0
  • প্রতিটি অক্ষরের জন্য c s, do
    • যদি c ')' এর মত হয়, তাহলে
      • যদি num_open <0, তারপর
        • num_open :=num_open - 1
      • অন্যথায়,
        • মিথ্যে ফেরত দিন
      • অন্যথায়,
        • num_open :=num_open + 1
  • num_open এর বিপরীতে ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, s):
      num_open = 0
      for c in s:
         if c == ')':
            if num_open < 0:
               num_open -= 1
            else:
               return False
            else:
               num_open += 1
      return not num_open
ob = Solution()
print(ob.solve("(()())(())"))

ইনপুট

"(()())(())"

আউটপুট

False

  1. পয়েন্ট চেক করার প্রোগ্রামটি পাইথনে উত্তল হুল তৈরি করছে বা না

  2. প্রদত্ত ব্লকের তালিকা x =y লাইনের উপরে প্রতিসম নাকি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. পাতার ক্রম দুটি পাতার সমান নাকি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. প্রদত্ত গ্রাফটি পাইথনে দ্বিপক্ষীয় কি না তা পরীক্ষা করার জন্য প্রোগ্রাম