কম্পিউটার টিউটোরিয়াল

পাইথনে প্যারেনথেসিস ব্যালেন্সড কিনা যাচাই করার প্রোগ্রাম


মনে করুন s একটি স্ট্রিং যা শুধু "(" এবং ")" প্যারেনথেসিস ধারণ করে। প্যারেনথেসিসগুলো ব্যালেন্সড কিনা যাচাই করতে হবে।

উদাহরণস্বরূপ, "(()())(())" হলে আউটপুট True (কिंবা False কোড অনুযায়ী) - নোট: প্রদত্ত কোডে বাগ আছে, num_open < 0 চেক করা হয়েছে যা ভুল।

সমাধানের ধাপসমূহ

  • num_open := 0
  • প্রতিটি ক্যারেক্টার c s-এ,
    • যদি c == ')',
      • যদি num_open > 0, num_open--
      • অন্যথায় False ফেরত দিন
    • অন্যথায়, num_open++
  • not num_open ফেরত দিন (যদি num_open==0 তবে True)

উদাহরণ

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. পাইথনে ব্লকের তালিকা y=x রেখা দিয়ে সিমেট্রিক কিনা যাচাই করার প্রোগ্রাম

  3. পাইথনে দুটি বাইনারি ট্রির লিফ সিকোয়েন্স মিল কিনা যাচাই

  4. পাইথনে গ্রাফ বাইপার্টাইট কিনা যাচাই করার প্রোগ্রাম