zoukankan      html  css  js  c++  java
  • Leetcode1572. 矩阵对角线元素的和

    题意

    请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。

    思路

    • 一开始理解错题意了,题目的意思是说要去掉的是主对角线和副对角线的交界点(最中间的元素,也就是矩阵的边长为奇数的时候才会有交界点)。
    • 而我以为是在副对角线中的元素如果在主对角线出现过就不计入总和。
    • 按照正确的理解就很简单啦,直接算就好了。

    代码

    class Solution {
    public:
        int diagonalSum(vector<vector<int>>& mat) {
            int len = mat.size();
            int ans = 0;
            for(int i=0;i<len;i++) {
                ans += mat[i][i];
            }//计算主对角线
            for(int i=0;i<len;i++) {
                ans += mat[i][len - i - 1];
            }//计算副对角线
            if(len & 1) {
                ans -= mat[len / 2][len / 2];
            }//如果边长为奇数,去掉其交界点
            return ans;
        }
    };
    
    如有转载,请注明出处QAQ
  • 相关阅读:
    绪论
    Linux回到上次目录
    松下伺服电机控制器参数设置
    更新github上的文件
    pytorch
    从本地上传文件到github
    Linux常用命令
    使用colab训练神经网络
    深度学习模型训练过程
    anaconda安装ubuntu20.4中
  • 原文地址:https://www.cnblogs.com/MartinLwx/p/14311191.html
Copyright © 2011-2022 走看看