কম্পিউটার

পাইথনে বন্ধনী তৈরি করুন


ধরুন আমাদের একটি মান n আছে। আমাদের সমস্ত সম্ভাব্য সুগঠিত বন্ধনী তৈরি করতে হবে যেখানে n নম্বর খোলা এবং বন্ধ বন্ধনী উপস্থিত থাকে। তাই যদি n =3 এর মান হয়, তাহলে বন্ধনী সেটটি হবে ["()()()","()())","(())()","(()()) ","((())"]

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

  • genParenthesisRec() নামক পদ্ধতির সংজ্ঞা দিন। এটি বাম, ডান, টেম্প স্ট্রিং এবং ফলাফল অ্যারে নেয়। প্রাথমিকভাবে ফলাফল অ্যারে খালি
  • ফাংশন genParenthesisRec, নিচের মত কাজ করবে
  • যদি বামে =0 এবং ডানে :=0, তাহলে ফলাফলে টেম্প যোগ করুন এবং ফিরে আসুন
  • বামে থাকলে> 0
    • গেট প্যারেনথেসিস রেক(বাম – 1, ডান, টেম্প + “(”, ফলাফল)
  • যদি ডানে> বাম
    • গেট প্যারেনথেসিস রেক(বাম, ডান – 1, টেম্প + “)”, ফলাফল)

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

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

class Solution(object):
   def generateParenthesis(self, n):
      """
      :type n: int
      :rtype: List[str]
      """
      result = []
      self.generateParenthesisUtil(n,n,"",result)
      return result
   def generateParenthesisUtil(self, left,right,temp,result):
      if left == 0 and right == 0:
         result.append(temp)
         return
      if left>0:
         self.generateParenthesisUtil(left-1,right,temp+'(',result)
      if right > left:
         self.generateParenthesisUtil(left, right-1, temp + ')', result)
ob = Solution()
print(ob.generateParenthesis(4))

ইনপুট

4

আউটপুট

["(((())))",
"((()()))",
"((())())",
"((()))()",
"(()(()))",
"(()()())",
"(()())()",
"(())(())",
"(())()()",
"()((()))",
"()(()())",
"()(())()",
"()()(())",
"()()()()"]

  1. পাইথনে প্যাসকেলের ত্রিভুজ তৈরি করার প্রোগ্রাম

  2. Python Pandas - একটি পরিসরে তারিখ তৈরি করুন

  3. পাইথনে সুষম বাইনারি ট্রি

  4. পাইথন pyqrcode মডিউল ব্যবহার করে QR কোড তৈরি করে?