2 回答
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
保留一個(gè)表示最大總和的變量,如果你也想要存儲(chǔ)索引
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貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
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;
}
}
希望這會(huì)有所幫助
添加回答
舉報(bào)
