C++ 中陣列字首的最大出現次數


在這個問題中,我們給定一個全是小寫字母的字元陣列。我們的任務是查詢陣列中字首的最大出現次數

我們需要統計出現次數最多的非空字首的出現次數。

讓我們舉個例子來理解這個問題,

Input : string = “xyyzkxyyzk”
Output : 2

解決方案

邏輯是想象一下,陣列的字首必須始終包含字串的第一個字元,其重複出現的次數也是如此。字串的第一個字元顯然是最少字元數的字首。因此,出現次數最多的字首肯定就是字串的第一個字元。所以現在工作已經簡化為查詢字串中第一個字元的出現次數。

演算法

  • 讀取一個小寫字母的字串。

  • 建立一個函式來返回所需字首的計數。

  • 初始化 count=0。

  • 查詢字串第一個字元的頻率。

  • 列印字串第一個字元的頻率,最終它將是字串字首的最大出現次數。

示例

程式說明我們解決方案的工作原理,

#include <iostream>
using namespace std;
int findPrefixOccurence(string str){
   char chars = str[0];
   int countOccrence = 0;
   for (int i = 0; i < str.length(); i++) {
      if (str[i] == chars)
         countOccrence++;
   }
   return countOccrence;
}
int main(){
   string str = "xyyzxxyyzxyxx";
   cout<<"The maximum occurence of prefix in the array is "<<findPrefixOccurence(str);
   return 0;
}

輸出

The maximum occurence of prefix in the array is 6

更新於: 2022年1月24日

200 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告