当前位置: 首页 > news >正文

最新新闻头条国家大事国际新闻兰州搜索引擎优化

最新新闻头条国家大事国际新闻,兰州搜索引擎优化,wordpress搭建博客教程,北京网站建设找德冿朴来源:力扣(LeetCode) 描述: 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3]…

来源:力扣(LeetCode)

描述:

给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。

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

示例 1:
1

输入: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 == mat.length == mat[i].length
  • 1 <= n <= 100
  • 1 <= mat[i][j] <= 100

方法一:遍历矩阵

思路与算法

我们知道矩阵中某个位置 (i, j) 处于对角线上,则一定满足下列条件之一:

  • i = j;
  • i + j = n − 1;

根据上述结论,我们可以遍历整个矩阵,如果当前坐标 (i, j) 满足 i = j 或者 i + j = n − 1 则表示该位置一定在对角线上,则把当前的数字加入到答案之中。

代码:

class Solution {
public:int diagonalSum(vector<vector<int>>& mat) {int n = mat.size(), sum = 0;for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {if (i == j || i + j == n - 1) {sum += mat[i][j];}}}return sum;}
};

时间 12ms 击败 77.20%使用 C++ 的用户
内存 10.61mb 击败 89.00%使用 C++ 的用户
复杂度分析

  • 时间复杂度:O(n2),其中 n 是矩阵 mat 的行数。
  • 空间复杂度:O(1)。

方法二:枚举对角线元素

思路与算法

逐行遍历,记当前的行号为 i,则当前行中处于对角线的元素为: 坐标 (i, i) 和坐标 (i, n − i − 1),因此我们把 (i, i) 与 (i, n − i − 1) 处的数字加入到答案中。 如果 n 是奇数的话,则主对角线与副对角线存在交点 (⌊ n 2 n \over 2 2n⌋, ⌊ n 2 n \over 2 2n⌋),该点会被计算两次。所以当 n 为奇数的时候,需要减掉交点处的值。

代码:

class Solution {
public:int diagonalSum(vector<vector<int>>& mat) {int n = mat.size(), sum = 0, mid = n / 2;for (int i = 0; i < n; ++i) {sum += mat[i][i] + mat[i][n - 1 - i];}return sum - mat[mid][mid] * (n & 1);}
};

时间 12ms 击败 77.20%使用 C++ 的用户
内存 10.68mb 击败 54.80%使用 C++ 的用户
复杂度分析

  • 时间复杂度:O(n),其中 n 是矩阵 mat 的行数。
  • 空间复杂度:O(1)。
    author:力扣官方题解
http://www.zhongyajixie.com/news/28028.html

相关文章:

  • 生日祝福网站开发网络营销网站推广
  • 东营网站开发怎么免费制作网站
  • 作文网推荐seo外链工具源码
  • 网站建设推广怎么玩教你如何建立网站
  • 网站关键词排名怎么做网站运营主要做什么
  • 长春房产网 房小二seo软件资源
  • 嘉兴网站制作建设如何建立企业网站
  • ps和dw做网站seo网站优化系统
  • 南宁网站设计公司开发网站
  • 网站建设设计公司哪家好房地产销售技巧和话术
  • 英文书 影印版 网站开发腾讯企点官网下载
  • 日照seo整站优化价格百度竞价推广
  • 做网站效果怎么样天津建站网
  • 呼市做网站的公司优化软件有哪些
  • 自做淘宝客网站吸引人的软文
  • 国外可以用什么网站做问卷最好用的免费建站
  • 一个空间安装多个织梦网站系统广告点击一次多少钱
  • 展示型网站建设推广普通话手抄报内容大全资料
  • 建设网站公司宝鸡看网站搜索什么关键词
  • 昆明网站开发培训互联网论坛
  • 中国做类似 esty的网站网站推广哪个平台最好
  • 如何删除自己建的网站搜狗网址大全
  • win7 添加asp网站网站的seo是什么意思
  • 房地产网站建设解决方案优化关键词排名工具
  • 南通网站建设做电商需要什么条件
  • 河南网站建设公企业宣传软文范例
  • 邮轮哪个网站是可以做特价胃肠的网站推广优化设计方案
  • 自己做网站 教程湖州网站建设制作
  • wordpress顶部空行廊坊首页霸屏排名优化
  • java做网站建设后台国内专业seo公司