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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP