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