链接:https://www.nowcoder.com/questionTerminal/79ed2f61eef7448aab10ef9677382e7e
来源:牛客网
[编程题]涂棋盘
- 热度指数:5347时间限制:1秒空间限制:32768K
- 算法知识视频讲解
小易有一块n*n的棋盘,棋盘的每一个格子都为黑色或者白色,小易现在要用他喜欢的红色去涂画棋盘。小易会找出棋盘中某一列中拥有相同颜色的最大的区域去涂画,帮助小易算算他会涂画多少个棋格。
输入描述:
输入数据包括n+1行: 第一行为一个整数n(1 ≤ n ≤ 50),即棋盘的大小 接下来的n行每行一个字符串表示第i行棋盘的颜色,'W'表示白色,'B'表示黑色
输出描述:
输出小易会涂画的区域大小
示例1
输入
3 BWW BBB BWB
输出
3
package go.jacob.day914;
import java.util.Scanner;
/**
* [编程题]涂棋盘
* @author Administrator
* 循环的时候要注意,是求每一列连续相同颜色区域
*/
public class Demo4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] strs = new String[n];
for (int i = 0; i < n; i++) {
strs[i] = sc.next();
}
int max = 0;
for (int i = 0; i < n; i++) {
int count = 1;
for (int j = 1; j < n; j++) {
if (strs[j].charAt(i) == strs[j-1].charAt(i)) {
count++;
} else {
if (count > max)
max = count;
count = 1;
}
}
if (count > max)
max = count;
}
System.out.println(max);
sc.close();
}
}