C++で有効にするために追加する括弧の最小数
問題の説明
括弧の文字列が与えられます。開き括弧’(‘または閉じ括弧‘)’をコンテナ化できます。結果の括弧文字列を有効にするには、最小数の括弧を見つける必要があります。
例
str =“((()”の場合、文字列の最後に2つの閉じ括弧、つまり‘))’が必要です
アルゴリズム
- 開き括弧を数える
- 閉じ括弧を数える
- 必要な括弧=abs(開き括弧の数–閉じ括弧の数)
例
#include <iostream> #include <string> #include <cmath> using namespace std; int requiredParentheses(string str) { int openingParentheses = 0, closingParentheses = 0; for (int i = 0; i < str.length(); ++i) { if (str[i] == '(') { ++openingParentheses; } else if (str[i] == ')') { ++closingParentheses; } } return abs(openingParentheses - closingParentheses); } int main() { string str = "((()"; cout << "Required parentheses = " << requiredParentheses(str) << endl; return 0; }
上記のプログラムをコンパイルして実行する場合。次の出力を生成します-
Required parentheses = 2
-
C++で文字列回文を作成するための削除の最小数。
問題の説明 サイズ「n」の文字列が与えられます。タスクは、文字列回文を作成するために最小数の文字を削除することです。 指定された文字列が「abcda」の場合、最初と最後を除く任意の2文字を削除して、回文にすることができます。 文字「b」と「c」を削除すると、「ada」文字列は回文になります 文字「c」と「d」を削除すると、「aba」文字列は回文になります 文字「b」と「d」を削除すると、「aca」文字列は回文になります アルゴリズム 1. Find longest palindromic subsequence of given string. Let’s
-
Pythonで括弧を有効にするための最小追加
(および)括弧の文字列Sがあるとすると、任意の位置に最小数の括弧を追加して、結果の括弧文字列が有効になるようにします。括弧文字列は、-の場合にのみ有効です。 空の文字列です XY(XとYを連結)と書くことができます。ここで、XとYは有効な文字列です (A)と書くことができます。ここで、Aは有効な文字列です。 したがって、文字列が ()))((のような場合、文字列を有効にするには、さらに4つの括弧を追加する必要があります。 これを解決するには、次の手順に従います- Sが空の場合は、0を返します count:=0、tempは配列、temp_counter:=0 for i in