用 C++ 程式碼查詢去除雙母音後的更正文字


假設我們有一個包含 n 個字元的字串 S。在一個文字編輯器中,有一個奇怪的規則。這個文字編輯器的文字校正器是這樣工作的:只要單詞中連續有兩個母音,它就會刪除單詞中的第一個母音。如果單詞中沒有連續的兩個母音,則認為該單詞是正確的。我們必須從 S 中找到更正後的單詞。這裡的母音是“a”、“e”、“i”、“o”、“u”和“y”。

因此,如果輸入為 S = “poor”,那麼輸出將為“por”。

步驟

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

n := size of S
t := "aeiouy"
for initialize i := 1, when i < n, update (increase i by 1), do:
   if S[i] is in t and S[i - 1] is in t, then:
      delete ith character from S
      (decrease i by 1)
return S

示例

讓我們看看以下實現,以獲得更好的理解 −

#include <bits/stdc++.h>
using namespace std;
string solve(string S){
   int n = S.size();
   string t = "aeiouy";
   for (int i = 1; i < n; i++){
      if (t.find(S[i]) != -1 && t.find(S[i - 1]) != -1){
         S.erase(i, 1);
         i--;
      }
   }
   return S;
}
int main(){
   string S = "poor";
   cout << solve(S) << endl;
}

輸入

"poor"

輸出

por

更新日期: 2022 年 3 月 29 日

141 次檢視

開啟你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.