gpt4 book ai didi

java - 查找数组中行的绝对值,然后打印答案中的最大值

转载 作者:行者123 更新时间:2023-12-02 02:12:50 26 4
gpt4 key购买 nike

我目前需要仅使用绝对值将所有行添加到数组中,然后找出三个答案中的最大值。

这是我目前得到的:

public static int maxRowAbsSum(int[][] array) {
int[][] maxRowValue = {

{3, -1, 4, 0},
{5, 9, -2, 6},
{5, 3, 7, -8}

};
int maxRow = 0;
int indexofMaxRow = 0;
for (int column = 0; column < maxRowValue[0].length; column++) {
maxRow += maxRowValue[0][column];
}

for (int row = 1; row < maxRowValue.length; row++) {
int totalOfRow = 0;
for (int column = 0; column < maxRowValue[row].length; column++){
totalOfRow += maxRowValue[row][column];

if (totalOfRow > maxRow) {
maxRow = totalOfRow;
indexofMaxRow = row;
}
}

System.out.println("Row " + indexofMaxRow + " has the sum of " + maxRow);
}
return indexofMaxRow;
}

但这仅返回索引第 1 行总计,而不使用绝对值。

更新:我将如何编写 JUnit 代码来使用assertArrayEquals 进行测试?

最佳答案

访问该行中的所有元素后应该得到总和,单独计算第一行是多余的:

int maxRow = 0;
int indexofMaxRow = 0;

for (int row = 0; row < maxRowValue.length; row++) {
int totalOfRow = 0;
for (int column = 0; column < maxRowValue[row].length; column++){
if (maxRowValue[row][column] > 0) {
totalOfRow += maxRowValue[row][column];
} else {
totalOfRow -= maxRowValue[row][column];
}
}
if (totalOfRow > maxRow) {
maxRow = totalOfRow;
indexofMaxRow = row;
}
}
System.out.println("Row " + indexofMaxRow + " has the sum of " + maxRow);
return indexofMaxRow;

关于java - 查找数组中行的绝对值,然后打印答案中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49719631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com