【解题报告】 《九日集训》第十七轮 7/9

x1nbb 2022-04-22 23:07:29

1、统计有序矩阵中的负数


遍历统计负数个数即可。

class Solution {
    public int countNegatives(int[][] grid) {
        int res = 0;
        for (int[] ints : grid) {
            for (int anInt : ints) {
                if (anInt < 0)
                    res++;
            }
        }
        return res;
    }
}

2、矩阵对角线元素的和


主对角线、副对角线相加即可。

如果是奇数矩阵,中间元素会多算一次,减去即可。

class Solution {
    public int diagonalSum(int[][] mat) {
        int length = mat.length;
        int res = 0;
        //主对角线
        for (int i = 0; i < length; i++) {
            res += mat[i][i];
        }
        //副对角线
        for (int i = 0; i < length; i++) {
            res += mat[i][length - 1 - i];
        }

        //奇数方阵
        if (length % 2 == 1){
            res -= mat[length / 2][length / 2];
        }

        return res;
    }
}

3、最富有客户的资产总量


每一行是一个客户,统计每一行所有的值之和,就是这个客户的资产总量。

返回最大的即可。

class Solution {
    public int maximumWealth(int[][] accounts) {
        //遍历每一行,返回最大值即可
        int length = accounts.length;
        int[] everyOne = new int[length];

        int bankNum = accounts[0].length;
        for (int i = 0; i < length; i++) {
            for (int j = 0; j < bankNum; j++) {
                everyOne[i] += accounts[i][j];
            }
        }

        int res = everyOne[0];
        for (int i : everyOne) {
            if (res < i)
                res = i;
        }
        return res;
    }
}

4、托普利茨矩阵


对于除左边和上边这一圈的元素来说,找到剩下的元素依次遍历,看该元素和它左上角的元素相不相等即可。

class Solution {
    public boolean isToeplitzMatrix(int[][] matrix) {
        int r = matrix.length;
        int c = matrix[0].length;

        for (int i = 1; i < r; i++) {
            for (int j = 1; j < c; j++) {
                if (matrix[i][j] != matrix[i - 1][j - 1]) {
                    return false;
                }
            }
        }
        return true;

    }
}
...全文
45 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,199

社区成员

发帖
与我相关
我的任务
社区描述
学习「 算法 」的捷径就是 「 题海战略 」,社区由「 夜深人静写算法 」作者创建,三年ACM经验,校集训队队长,亚洲区域赛金牌,世界总决赛选手。社区提供系统的训练,答疑解惑,面试经验,大厂内推等机会
社区管理员
  • 英雄哪里出来
  • 芝麻粒儿
  • Amy卜bo皮
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

QQ群:480072171

英雄算法交流 8 群

 

试试用AI创作助手写篇文章吧