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

Pythonで括弧のバランスの取れたグループの最大数を見つけるプログラム


バランスの取れた括弧「(」と「)」を含む文字列sがあるとすると、それらをバランスの取れたグループの最大数に分割する必要があります。

したがって、入力が「(()())()(())」のような場合、出力は['(()())'、'()'、'(())']<になります。 / P>

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

  • temp:=空白の文字列
  • groups:=新しいリスト
  • count:=0
  • sの各文字bについて、
    • カウントが0と同じで、tempのサイズが0より大きい場合、
      • グループの最後に臨時雇用者を挿入
      • temp:=空白の文字列
    • temp:=temp concatenate b
    • bが'('と同じ場合、
      • count:=count + 1
    • それ以外の場合、
      • count:=count-1
  • グループの最後に臨時雇用者を挿入
  • グループを返す

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

class Solution:
   def solve(self, s):
      temp = ''
      groups = []
      count = 0
      for b in s:
         if count == 0 and len(temp) > 0:
            groups.append(temp)
         temp = ''
         temp += b
         if b == '(':
            count += 1
         else:
            count -= 1
      groups.append(temp)
      return groups
s = "(()())()(())"
ob = Solution()
print(ob.solve(s))

入力

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

出力

['(()())', '()', '(())']

  1. リスト内で最大数を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 与えられたリスト入力では、与えられたリストの中で最大の数を見つける必要があります。 ここでは、2つのアプローチについて説明します 並べ替え手法の使用 組み込みのmax()関数を使用する アプローチ1-組み込みのsort()関数を使用する 例 list1 = [18, 65, 78, 89, 90] list1.sort() # main print("Largest element is:", list1[-1]) 出力 Largest element is:

  2. Pythonプログラムは最大3つ。

    3つの数abとcが与えられた場合、私たちのタスクは、与えられた数の中から最大の要素を見つけなければならないということです。 例 Input: a = 2, b = 4, c = 3 Output: 4 アルゴリズム Step 1: input three user input number. Step2: Add three numbers to list. Step 3: Using max() function to find the greatest number max(lst). Step 4: And finally we will print maximum numbe