【LeetCode每日一题】——1572.矩阵对角线元素的和

这篇具有很好参考价值的文章主要介绍了【LeetCode每日一题】——1572.矩阵对角线元素的和。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一【题目类别】

  • 矩阵

二【题目难度】

  • 简单

三【题目编号】

  • 1572.矩阵对角线元素的和

四【题目描述】

  • 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。
  • 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。

五【题目示例】

  • 示例 1:

    • 【LeetCode每日一题】——1572.矩阵对角线元素的和,LeetCode,矩阵,算法,数据结构,LeetCode,1572.矩阵对角线元素的和

    • 输入:mat = [[1,2,3],
                           [4,5,6],
                           [7,8,9]]

    • 输出:25

    • 解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25。请注意,元素 mat[1][1] = 5 只会被计算一次。

  • 示例 2:

    • 输入:mat = [[1,1,1,1],
                            [1,1,1,1],
                            [1,1,1,1],
                            [1,1,1,1]]
    • 输出:8
  • 示例 3:

    • 输入:mat = [[5]]
    • 输出:5

六【题目提示】

  • n = = m a t . l e n g t h = = m a t [ i ] . l e n g t h n == mat.length == mat[i].length n==mat.length==mat[i].length
  • 1 < = n < = 100 1 <= n <= 100 1<=n<=100
  • 1 < = m a t [ i ] [ j ] < = 100 1 <= mat[i][j] <= 100 1<=mat[i][j]<=100

七【解题思路】

  • 定义i遍历二维数组的行数,j遍历二维数组的列数
  • 如果i==j,说明是主对角线的元素
  • 如果i+j==n-1,说明是副对角线的元素
  • 采用||进行判断,这样就不会将主对角线和副对角线的元素多加一次,因为只遍历了一次数组
  • 然后将其求和,最后返回结果即可

八【时间频度】

  • 时间复杂度: O ( n 2 ) O(n^2) O(n2) n n n为传入的正方形数组的长度
  • 空间复杂度: O ( 1 ) O(1) O(1)

九【代码实现】

  1. Java语言版
class Solution {
    public int diagonalSum(int[][] mat) {
        int n = mat.length;
        int res = 0;
        for(int i = 0;i < n;i++){
            for(int j = 0;j < n;j++){
                if(i == j || i + j == n - 1){
                    res += mat[i][j];
                }
            }
        }
        return res;
    }
}
  1. C语言版
int diagonalSum(int** mat, int matSize, int* matColSize)
{
    int n = matSize;
    int res = 0;
    for(int i = 0;i < n;i++)
    {
        for(int j = 0;j < n;j++)
        {
            if(i == j || i + j == n - 1)
            {
                res += mat[i][j];
            }
        }
    }
    return res;
}
  1. Python语言版
class Solution:
    def diagonalSum(self, mat: List[List[int]]) -> int:
        n = len(mat)
        res = 0
        for i in range(0,n):
            for j in range(0,n):
                if i == j or i + j == n - 1:
                    res += mat[i][j]
        return res
  1. C++语言版
class Solution {
public:
    int diagonalSum(vector<vector<int>>& mat) {
        int n = mat.size();
        int res = 0;
        for(int i = 0;i < n;i++){
            for(int j = 0;j < n;j++){
                if(i == j || i + j == n - 1){
                    res += mat[i][j];
                }
            }
        }
        return res;
    }
};

十【提交结果】

  1. Java语言版
    【LeetCode每日一题】——1572.矩阵对角线元素的和,LeetCode,矩阵,算法,数据结构,LeetCode,1572.矩阵对角线元素的和

  2. C语言版
    【LeetCode每日一题】——1572.矩阵对角线元素的和,LeetCode,矩阵,算法,数据结构,LeetCode,1572.矩阵对角线元素的和

  3. Python语言版
    【LeetCode每日一题】——1572.矩阵对角线元素的和,LeetCode,矩阵,算法,数据结构,LeetCode,1572.矩阵对角线元素的和

  4. C++语言版
    【LeetCode每日一题】——1572.矩阵对角线元素的和,LeetCode,矩阵,算法,数据结构,LeetCode,1572.矩阵对角线元素的和文章来源地址https://www.toymoban.com/news/detail-624457.html

到了这里,关于【LeetCode每日一题】——1572.矩阵对角线元素的和的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【LeetCode】1572.矩阵对角线元素的和

    给你一个正方形矩阵  mat ,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例  1: 示例  2: 示例 3: 提示: n == mat.length == mat[i].length 1 = n = 100 1 = mat[i][j] = 100 观察矩阵的对角线,发现通常情况每一行都有两个

    2024年02月13日
    浏览(40)
  • LeetCode 1572. 矩阵对角线元素的和

    力扣题目链接:https://leetcode.cn/problems/matrix-diagonal-sum/ 给你一个正方形矩阵 mat ,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。   示例  1: 示例  2: 示例 3:   提示: n == mat.length == mat[i].length 1 = n = 100 1 = mat

    2024年02月13日
    浏览(60)
  • ​LeetCode解法汇总1572. 矩阵对角线元素的和

    https://github.com/September26/java-algorithms 给你一个正方形矩阵  mat ,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例  1:   示例  2: 示例 3: 提示: n == mat.length == mat[i].length 1 = n = 100 1 = mat[i][j] = 100  

    2024年02月13日
    浏览(31)
  • LeetCode_03Java_1572. 矩阵对角线元素的和

    给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例二 示例三 代码实现

    2024年02月13日
    浏览(38)
  • 【1572. 矩阵对角线元素的和】

    来源:力扣(LeetCode) 描述: 给你一个正方形矩阵 mat ,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 示例 2: 示例 3: 提示: n == mat.length == mat[i].length 1 = n = 100 1 = mat[i][j] = 100 方法一:遍历矩阵 思路

    2024年02月12日
    浏览(39)
  • 1572. 矩阵对角线元素的和

    给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 同时求对角线和副对角线上元素的和再减去重合的元素

    2024年02月13日
    浏览(38)
  • 【LeetCode 算法】Matrix Diagonal Sum 矩阵对角线元素的和

    给你一个正方形矩阵 mat ,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 n = = m a t . l e n g t h = = m a t [ i ] . l e n g t h 1 = n = 100 1 = m a t [ i ] [ j ] = 100 n == mat.length == mat[i].length\\\\ 1 = n = 100\\\\ 1 = mat[i][j] = 100 n == ma t . l

    2024年02月13日
    浏览(42)
  • 输入一个n×n的矩阵,分别计算该矩阵主对角线元素与副对角线元素之和。

    输入格式: 输入包含n + 1行: 第一行为一个正整数n(1 = n = 10)。 第二行到第n + 1行,每行有n个整数,邻近两数之间用一个空格隔开。 输出格式: 两数之间用一个空格隔开。 输入样例: 4 2 3 4 1 5 6 2 1 7 1 8 3 1 6 1 1 输出样例: 17 5

    2024年02月11日
    浏览(49)
  • 矩阵对角线元素求和

    输入一个5×5的数组,分别求其主对角线和辅对角线上元素之和。 输入: 5×5的数组 输出: 主对角线和辅对角线上元素之和 输入样例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 输出样例: 65 65 提示: 主对角线为从矩阵的左上角至右下角的连线,在数组中即指行列下

    2024年02月04日
    浏览(55)
  • 矩阵对角线元素的和

    题目: 给你一个正方形矩阵 mat ,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例: 输入:mat = [[1,2,3],             [4,5,6],             [7,8,9]] 输出:25 解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25 请注意

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包