矩阵相乘的步骤
- 确定矩阵的大小:首先,确保第一个矩阵A的列数等于第二个矩阵B的行数。如果满足这个条件,就可以进行矩阵相乘操作。
- 计算矩阵元素:矩阵C的每个元素C[i][j]是通过矩阵A的第i行与矩阵B的第j列对应元素相乘并求和得到的。具体公式如下: [ C[i][j] = \sum_{k=1}^{n} A[i][k] \times B[k][j] ]
- 示例:假设矩阵A和矩阵B如下: 矩阵A: 1 2 3 3 2 2 2 1 2 矩阵B: 2 2 3 1 2 1 计算矩阵C的过程如下: C[0][0] = 1*2 + 2*3 + 3*2 = 14 C[0][1] = 1*2 + 2*1 + 3*1 = 7 C[1][0] = 3*2 + 2*3 + 2*2 = 16 C[1][1] = 3*2 + 2*1 + 2*1 = 10 C[2][0] = 2*2 + 1*3 + 2*2 = 11 C[2][1] = 2*2 + 1*1 + 2*1 = 7 最终得到的矩阵C为: 14 7 16 10 11 7
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param a int整型二维数组 第一个矩阵
# @param b int整型二维数组 第二个矩阵
# @return int整型二维数组
#
class Solution:
def solve(self , a: List[List[int]], b: List[List[int]]) -> List[List[int]]:
# write code here
m, n, p = len(a), len(b[0]), len(b)
c = [[0]*n for _ in range(m)]
for i in range(m):#按照矩阵乘法定义即可
for j in range(n):
for k in range(p):
c[i][j] += a[i][k]*b[k][j]
return c
注意事项
- 矩阵大小匹配:只有当第一个矩阵的列数等于第二个矩阵的行数时,两个矩阵才能相乘。
- 计算复杂度:矩阵相乘的时间复杂度为O(mnp),其中m、n、p分别是矩阵A的行数、列数和矩阵B的列数。



京公网安备 11010502036488号