首页 > 其他分享 >1572. 矩阵对角线元素的和

1572. 矩阵对角线元素的和

时间:2023-04-28 22:25:55浏览次数:43  
标签:return mat 矩阵 sums 对角线 1572 List

 分析:

找了一个小规律

首先对角线上的数是从第一行到最后一行按顺序的

在每一行上下标逐渐加1,最后总次数是矩阵的长度

最重要的是,两个对角线是对称的

也就是当取前面的第一个数时,后面对角线就是-1;前面取第二个时,后面就是-2

然后有个细节,当行数为奇数时需要减去一个正中间的数,重复了

然后写代码

代码:

 1 class Solution(object):
 2     def diagonalSum(self, mat):
 3         """
 4         :type mat: List[List[int]]
 5         :rtype: int
 6         """
 7         n=len(mat)
 8         sums=0
 9         for i in range(n):
10             x=i+1
11             sums=sums+mat[i][i]+mat[i][-x]
12         a=n-1
13         b=a//2
14         c=b+1
15         if n%2!=0:
16             sums=sums-mat[c-1][c-1]
17             return sums
18         else:
19             return sums

 

标签:return,mat,矩阵,sums,对角线,1572,List
From: https://www.cnblogs.com/ooooopppp/p/17363283.html

相关文章

  • 矩阵乘法的指令集加速例子
    这里就不介绍基本概念了,直接给代码和对比结果。分别是普通C++代码,SSE加速代码和OpenCV代码。代码基于VS2017、OpenCV430和Qt5.9。CPU型号是IntelCorei5-7400。Matmul1(constMat&a,constMat&b){ASSERT(a.cols==b.rows);#defineCOUNTa.colsMatc=Mat::z......
  • 1351. 统计有序矩阵中的负数(leetcode)
    https://leetcode.cn/problems/count-negative-numbers-in-a-sorted-matrix/1351.统计有序矩阵中的负数1.二分法:把每一行进行一遍二分,找到正数与负数的边界,且此时grid[i][mid]也为负数,即边界下标的对应值是负数的左半边界那么一行中的个数即为size()-lclassSolution{pu......
  • 测试矩阵相乘
      #include<QtWidgets/QApplication>#include<QtWidgets/QGraphicsScene>#include<QtWidgets/QGraphicsView>#include<QtCore/QPointF>#include<QtCore/QDebug>//定义矩阵类classMatrix{public:Matrix(fl......
  • 矩阵旋转,仿射变换
    importnumpyasnpimportmathasmdefRx(theta):returnnp.matrix([[1,0,0],[0,m.cos(theta),-m.sin(theta)],[0,m.sin(theta),m.cos(theta)]])defRy(theta):returnnp.matrix([[......
  • 大规模 Transformer 模型 8 比特矩阵乘简介 - 基于 Hugging Face Transformers、Accel
    引言语言模型一直在变大。截至撰写本文时,PaLM有5400亿参数,OPT、GPT-3和BLOOM有大约1760亿参数,而且我们仍在继续朝着更大的模型发展。下图总结了最近的一些语言模型的尺寸。由于这些模型很大,因此它们很难在一般的设备上运行。举个例子,仅推理BLOOM-176B模型,你就需要8......
  • 【DP】LeetCode 1277. 统计全为 1 的正方形子矩阵
    题目链接1277.统计全为1的正方形子矩阵思路分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数组的动态规划问题中,一般dp[i]都是表示以nums以前i个元素组成(即nums[i-1])的状态;dp[i][j]分别表示以nums1......
  • MKL稀疏矩阵运算示例及函数封装
    IntelMKL库提供了大量优化程度高、效率快的稀疏矩阵算法,使用MKL库的将大型矩阵进行稀疏表示后,利用稀疏矩阵运算可大量节省计算时间和空间,但由于MKL中的原生API接口繁杂,因此将常用函数封装,便于后续使用,最后在实际例子中调用接口执行想要的矩阵运算。0稀疏矩阵稀疏矩阵是指矩阵......
  • MKL普通矩阵运算示例及函数封装
    本示例将介绍MKL中的矩阵乘法和求逆,使用MKL进行此类大型矩阵运算可大量节省计算时间和空间,但由于MKL中的原生API接口繁杂,因此将常用函数封装,便于后续使用,最后在实际例子中调用接口执行想要的矩阵运算。1MKL矩阵乘法案例所用示例如下,矩阵A、B分别为\[A={\left[{\begin{array......
  • 51单片机学习笔记 STC89C52RC (05)矩阵键盘和独立键盘(轻触开关)
    按键抖动,需要消抖 原理图来自清翔电子一、独立键盘模块1.可以直接获取 P3^0对应S2 P3^1对应S3 P3^2对应S4 P3^3对应S5 的电压当轻触开关按下时,电流会流向GND,此时这一路的电压为0V,松开轻触开关,又变为5V //第一种方法:单个I/O口检测控制#include<reg51.h>sbi......
  • Python学习(2)-NumPy矩阵与通用函数
    1.NumPy矩阵1.1mat函数mat=asmatrixasmatrix(data,dtype=None):data:表示输入的数组或者字符串,使用‘,’分割列,使用‘;’分割行创建两个普通的矩阵:print(np.mat([1,2,3]))print(np.mat("1,2,3;4,5,6;7,8,9"))--------[[123]][[123][456][789]]需要注意:mat创建的......