2 回答

TA貢獻1966條經驗 獲得超4個贊
保留一個表示最大總和的變量,如果你也想要存儲索引
public int largestRowSum(int[][] matrix) {
//Comment outline before coding!
int[][] nums = matrix;
int sum = 0;
int arraySum = 0;
int maxSum = 0; // Indicates the max sum of row encountered till now
int indexOfmaxSumRow = 0; // index of row which corresponds to maxsum
//add individual rows
for (int r = 0; r < matrix.length; r++) {
for (int c = 0; c < matrix[r].length; c++) {
sum += nums[r][c];
}
if (sum > maxSum) {
maxSum = sum;
indexOfmaxSumRow = r;
}
}
System.out.println(sum);
//compare rows
//return the value
System.out.println(arraySum);
return indexOfmaxSumRow;
}

TA貢獻1752條經驗 獲得超4個贊
class Matrix
{
public static void main(String arg[])
{
int[][] num = {{1,4,7},{12,5,56},{2,5,8},{3,6,9}};
int index = new Matrix().Sum(num);
System.out.println(""+index+" is index of the row with greatest sum.");
}
public int Sum(int[][] mat)
{
int val = 0,index=0;
for(int i = 0;i<mat.length;i++)
{
int sum = 0;
for(int j = 0; j<mat[i].length;j++)
sum += mat[i][j];
val = (i == 0 ? sum : val);
if(val < sum)
{
val = sum;
index = i;
}
}
return index;
}
}
希望這會有所幫助
添加回答
舉報