我正在尝试打印多少行包含子阵列(a,b,c(满足a + b = c
int [][] matrix = {
{0,**5,2,7**,0,0},
{6,0,2, 1,-5,5},
{8,5,**1,1,2**,-2},
{3,-1,-5,-3,-4,-2}
};
这是所讨论的矩阵,它只有两个总和,因此我的程序应该打印2,但是我以某种方式错过了一些东西,该程序只能打印包含数字总和的行,无关紧要,无关紧要它们在行上<<<<<</p>
int [][] matrix = {
{0,5,2,7,9,0},
{6,0,2, 1,-5,5},
{8,5,1,1,2,-2},
{3,-1,-5,-3,-4,-2}
};
例如,在这里我们有3个总和,但是我的程序应该打印2个
public static int rowSumsOfThree(int [][] matrix) {
int count = 0 ;
if (matrix.length != 0 ) {
for (int i = 0 ; i < matrix.length ; i++) {
for (int j = 0 ; j < matrix[0].length-2 ; j++)
if (matrix[i][j] + matrix[i][j+1] == matrix[i][j+2]) {
count++;
break;
}
}}
return count;
}
这是我到目前为止的代码,我知道这可能是我犯的一些愚蠢的错误,如果您可以提供一些解释,这是非常感谢的,谢谢大家
也许我的英语不好,我需要创建一种方法,将数组中的元素概括为
int [] matrix = {{2,3,4,7,8,3,2},
{1,23,4,2,2,}};
给定此矩阵,我需要像这样总结它们,前两个元素=第三,第二和第三元素=第四个元素,依此类推,如果算法检查的检查要比它在检查多少行上返回,则第一个矩阵应该是2,第二矩阵应为1;我希望我解释更好
编辑:使用Break解决了我的问题!它将仅计算每行的总和,即使每行更多,也将计数与行数相同。谢谢您的帮助
正如阿里(Ari(所说,您的返回声明应为:
return count;
不是
return rowIndex;
这是一个非常简单的错误,请考虑删除您的问题。