javascript和java两种方式:
题目描述
学校组织活动,将学生排成一个矩形方阵。
请在矩形方阵中找到最大的位置相连的男生数量。
这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的。
注:学生个数不会超过10000
输入描述
输入的第一行为矩阵的行数和列数,接下来的n行为矩阵元素,元素间用”,”分隔。
输出描述
输出一个整数,表示矩阵中最长的位置相连的男生个数。
示例
3,4
F,M,M,F
F,M,M,F
F,F,F,M输出
3
1,2
M,M2
2,1
M
F1
思路分析
方法一:动态规划
这道题看到方阵,下一个格子跟上一个格子有关系,横着、竖着、对角线、反对角线,可以想到动态规划的解法。
不过需要注意的是,四种情况要分开考虑,分别进行动态规划:
初始化第一行和第一列,往右下角找,就可以统计横着,竖着,对角线的最大值。