在字符数组S=“abbxxxxzyy”中,包含最长连续字串为较大分组,输出该分组起始位置和终点位置
算法思想:设最长子分组的开头、结尾位置,初试个数为1,并不断与max进行比较
int OutputStr(char *s, int n){
int start, end, max = 1, count = 1;
char temp;
for(int i = 0; i<n ; i++){
temp = s[i]; //每一次将当前位置的元素作为最大分组的第一个元素
start = i; //设置为开始位置
for(int j = i+1; j<n ;j++){ //当前位置之后的元素与之比较
if(s[j] == temp){ //如果相同则个数+1
count++;
}else{ //遇到不同的元素则个数置1
if(count > max) //并且与最大个数比较取最大值
max = count;
count = 1;
end = j-1; //遇到不同的元素之前的位置为该分组的末尾
}
}
printf("%d,%d",start, end)
return max;
}