小易有一块n*n的棋盘,棋盘的每一个格子都为黑色或者白色,小易现在要用他喜欢的红色去涂画棋盘。小易会找出棋盘中某一列中拥有相同颜色的最大的区域去涂画,帮助小易算算他会涂画多少个棋格。
输入描述:
输入数据包括n+1行:
第一行为一个整数n(1 ≤ n ≤ 50),即棋盘的大小
接下来的n行每行一个字符串表示第i行棋盘的颜色,’W’表示白色,’B’表示黑色
输出描述:
输出小易会涂画的区域大小
输入例子1:
3
BWW
BBB
BWB
输出例子1:
3
解题思路
遍历棋盘的每一列,寻找最长连续串。
import java.util.Scanner;
public class Main {
private static int fun(int[][] data) {
int max = ;
for (int i = ; i < data[].length; i++) {
int num = data[][i];
int count = ;
for (int j = ; j < data.length; j++) {
if (num == data[j][i]) {
count++;
if (count > max)
max = count;
} else {
num = data[j][i];
count = ;
}
}
}
return max;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
int[][] data = new int[n][n];
for (int i = ; i < n; i++) {
String string = sc.nextLine();
for (int j = ; j < n; j++) {
if (string.charAt(j) == 'B') {
data[i][j] = ;
} else {
data[i][j] = ;
}
}
}
System.out.println(fun(data));
}
}