【发布时间】:2018-11-12 20:50:26
【问题描述】:
我有一个由元素 b 和 r 组成的字符数组,排列为 {'b','b','r','r','b','r'};
我要查找的是这两个字符的最大数量,而不会中断它们的排列。
示例: ar = {'b','b','r','r','b','r'};
输出应该是 4,因为 bb rr 每个都包含两个字符,并且没有 b 与 rr 或 r 与 bb 混合。
这是我想出的:
int i =0;
int max=0;
while(i<ar.length){
char c = ar[i];
int count = 0;
while(i<ar.length&&ar[i] ==c){i++;count++;}
if(i==ar.length)break;
char n_c = ar[i];
while(i<ar.length && ar[i]==n_c){i++;count++;}
if(i==ar.length) break;
if(count>max) max=count;
}
【问题讨论】: