C++程式:計算要刪除以獲得良好字串的字元數


假設我們有一個字串S。S包含兩種型別的字元'x'和'a'。我們必須計算刪除S中的一些字元後,剩餘的最長字串的長度,使其成為一個“良好”字串。“良好”字串的定義是:字元'a'的數量嚴格大於字串長度的一半。

例如,如果輸入是S = "xaxxxxa",那麼輸出將是3,因為如果我們刪除4個'x',字串將變為"xaa",這是一個“良好”字串,長度為3。

步驟

為了解決這個問題,我們將遵循以下步驟:

x := 2 * count the number of 'a' in S
n := size of S
return minimum of n and x

示例

讓我們看下面的實現,以便更好地理解:

#include <bits/stdc++.h>
using namespace std;

int solve(string S) {
   int x = 2 * count(S.begin(), S.end(), 'a') - 1;
   int n = S.size();
   return min(n, x);
}
int main() {
   string S = "xaxxxxa";
   cout << solve(S) << endl;
}

輸入

"xaxxxxa"

輸出

3

更新於:2022年3月4日

瀏覽量:168

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告