Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで括弧を生成する


値nがあるとします。 n個の開き括弧と閉じ括弧が存在するすべての可能な整形式括弧を生成する必要があります。したがって、n =3の値の場合、括弧セットは["()()()"、 "()(())"、 "(())()"、 "(()())になります。 "、"((())) "]

これを解決するには、次の手順に従います-

  • genParenthesisRec()というメソッドを定義します。これは、左、右、一時文字列と結果配列を取ります。最初は結果の配列が空です
  • 関数genParenthesisRecは、次のように機能します
  • left =0およびright:=0の場合、結果にtempを挿入し、戻ります
  • 残っている場合>0
    • getParenthesisRec(left – 1、right、temp +“(”、result)
  • 右>左の場合
    • getParenthesisRec(left、right – 1、temp +“)”、result)
例(Python)

理解を深めるために、次の実装を見てみましょう-

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. Pythonの平衡二分木

    二分木では、各ノードに2つの子、つまり左の子と右の子が含まれます。二分木があり、その木がバランスしているかどうかを確認する必要があるとしましょう。左のサブツリーと右のサブツリーの高さの差が「1」以下の場合、二分木はバランスが取れていると言われます。 例 入力-1: 出力: True 説明: 与えられた二分木は[1,2,3、NULL、NULL、6、7]です。左側のサブツリーと右側のサブツリーの高さの差は「1」に等しいため、高さのバランスが取れたツリーになります。 入力-2: 出力: False 説明: 与えられた二分木は[1,2,3,4、NU

  2. Python pyqrcodeモジュールを使用してQRコードを生成しますか?

    QRコードは、白い背景に正方形のグリッドに配置された黒い正方形で構成されており、カメラなどのイメージングデバイスで読み取ることができます。多くの商用追跡アプリケーションや、携帯電話ユーザー向けのさまざまなアプリケーションの支払いやWebサイトログインなどに広く使用されています。 pyqrcodeモジュールは、Pythonでqrcocodeを生成するために使用されます。データを効率的に保存するために、4つの標準化されたエンコードモード(数値、英数字、バイト/バイナリ、および漢字)があります。 英数字のqrcode pyqrcodeモジュールを使用します。 qrcodeを生成するために使用される