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

পাইথনে প্যಾರೆনথেসিস জেনারেট করা


मान लीजिए हमारे पास एक मान n है। हमें सभी संभावित सुव्यवस्थित पैरेंथेसिस उत्पन्न करने हैं जहां n संख्या में ओपनिंग और क्लोजिंग पैरेंथेसिस मौजूद हैं। इसलिए यदि n का मान 3 है, तो पैरेंथेसिस सेट ["()()()","()(())","(())()","(()())","((()))"] होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −

  • genParenthesisRec() नामक एक विधि परिभाषित करें। यह left, right, temp स्ट्रिंग और result सरणी लेता है। प्रारंभ में result सरणी खाली है
  • फंक्शन genParenthesisRec, नीचे की तरह काम करेगा
  • यदि left = 0 और right := 0, तो temp को result में डालें, और वापस लौटें
  • यदि left > 0
    • getParenthesisRec(left - 1, right, temp + "(", result)
  • यदि right > left
    • getParenthesisRec(left, right - 1, temp + ")", result)

उदाहरण (पाइथन)

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें −

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-এ ডেট রেঞ্জ (Date Range) জেনারেট করার পদ্ধতি

  3. পাইথনে সুসঙ্গত বাইনারি ট্রি (Balanced Binary Tree)

  4. পাইথনে pyqrcode মডিউল দিয়ে QR কোড জেনারেট করা