C++字串中最大連續重複字元
給定一個字母字串,任務是找到在字串中出現最長連續重複的字元。讓我們透過示例來理解。
輸入− 字串[] = “abbbabbbbcdd”
輸出 − b
解釋 − 在上面的字串中,最長的連續序列是字元“b”。連續的b的個數是4。
輸入− 字串[] = “aabbcdeeeeed”
輸出 − b
解釋 − 在上面的字串中,最長的連續序列是字元“e”。連續的e的個數是5。
下面程式中使用的方法如下
字元陣列string1[]用於儲存字母字串。
函式maxRepeating(char str[], int n)接受兩個輸入引數。字串本身及其大小。返回具有最長連續重複序列的字元。
遍歷字串str[]從第一個位置到最後一個位置。
如果str[i]和下一個str[i+1]相同,則計數加1。
如果該計數是最大值,則將該值儲存在maxC中,並將字元儲存在repchar中。
返回repchar作為最終結果。
示例
#include <iostream> #include <iostream> char maxRepeating(char str[], int n){ int count = 0; char repchar = str[0]; int maxC = 1; for (int i=0; i<n; i++){ if (str[i] == str[i+1] && i < n-1 ) maxC++; else{ if (maxC > count){ count = maxC; repchar = str[i]; } maxC = 1; } } return repchar; } int main(){ char string1[] = "aaabbaacccddef"; int N=14; printf("Maximum Consecutive repeating character in string: %c",maxRepeating(string1,N)); return 0; }
輸出
如果我們執行上面的程式碼,它將生成以下輸出:
Maximum Consecutive repeating character in string: a
廣告