问题描述
- java 不规则矩阵 判断是否包含指定个数的连续相同数字
-
如上图所示 6x7的矩阵 某一条斜线上含有4个连续相同的1
诸如此类的,如何判断
传递需要连续相同数字的个数 num
返回布尔值即可
public static boolean checkDiagonal(int number){
......
}
解决方案
根据你的描述,需要对比横、竖、从左上到右下斜线、左下到右上斜线四类直线上的数字的连续重复个数。
横、竖方向比较容易。主要是斜线方向,拿左下到右上方向来说,也就是比较第A[i,j]到A[j,i](其中i <= j)这条斜线上的所有数字,由一个矩阵元素(非最后一个),过度到下一个,横坐标-1,纵坐标+1,所以依次比较A[i,j],A[i-1, j+1], A[i-2, j+2]......A[j,i]这组数就可以了得到左下到右上斜线上重复个数。对于左上到右下类似的方式。
希望对你有帮助。
时间: 2024-11-01 03:42:52