有人可以帮我为下面的C程序提供算法或伪代码吗?
有一个n * m网格,由英文字母的小写字母组成。 您需要垂直或水平地连续确定字符的最大出现次数。
输入 输入说明。
输入的第一行包含T个测试用例。每个测试用例的第一行包含n(行数),m(列数)。接下来的n行中的每一行都包含m个字符,每个字符表示网格。
输入 在每种情况下输出答案作为指定的问题陈述
2
3 3
aaa
abc
dca
2 3
fgh
frq
输出:
3
2
答案 0 :(得分:0)
所以你想给程序一个字符和一个2D字符数组,它会返回连续出现的最大数量?
我会选择简单的
func(char** grid, xlength, ylengh, char k){
int i;
int j;
int number = 0;
int max = 0;
for(i = 0; i < xlength; i++){
for(j = 1; j < ylength; j<<){
if(grid[i][j-1] == grid[i][j])
number++;
if(number > max)
max = number;
if(grid[i][j-1] != grid[i][j]number) = 0;
}
}
return max;
}
你必须做两次相同的事情,你在那里切换一列。但这应该有效。