亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何比較各個行的總和?

如何比較各個行的總和?

ITMISS 2022-06-23 08:55:34
我已經設法編寫了將一行中的數字相加的代碼,但現在我堅持比較不同行的總和。什么樣的代碼比較數組行的總和?我想嘗試一個 if 語句,但是一旦我得到它,我不確定如何獲取不同的行然后進行比較,因為你不能真正做 sum > sumpublic class MatrixLab {    public int largestRowSum(int[][] matrix) {        //Comment outline before coding!          int[][] nums = matrix;        int sum = 0;        int arraySum = 0;        //add individual rows        for(int r = 0; r < matrix.length; r++) {           for(int c = 0; c < matrix[r].length; c++) {              sum += nums[r][c];           }        }        System.out.println( sum );        //compare rows         //return the value        System.out.println( arraySum );    }它需要在比較行之后返回具有最大值總和的行的索引
查看完整描述

2 回答

?
慕標5832272

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;

}


查看完整回答
反對 回復 2022-06-23
?
溫溫醬

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;

     }

}

希望這會有所幫助


查看完整回答
反對 回復 2022-06-23
  • 2 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號