牛客题解 | 标量的矩阵乘法

题目

题目链接

标量乘以矩阵,就是将矩阵中的每一个元素都乘以该标量。

数学表达式为:

\[C = k \times A \]

其中,\(C\) 为结果矩阵,\(k\) 为标量,\(A\) 为原矩阵。具体计算为:

\[C_{ij} = k \times A_{ij} \]

标准代码如下,要学会善用列表推导式简化代码编写

def scalar_multiply(matrix: List[List[Union[int, float]]], scalar: Union[int, float]) -> List[List[Union[int, float]]]:
    return [[element * scalar for element in row] for row in matrix]

除此之外,也可以使用python的广播机制进一步简化运算

def scalar_multiply(matrix: List[List[Union[int, float]]], scalar: Union[int, float]) -> List[List[Union[int, float]]]:
   import numpy as np
   return (np.array(matrix) * scalar).tolist()

需要注意的是,尽量利用广播等机制可以加快代码运行速度,纯手搓其实没有利用这些机制快

posted @ 2025-03-12 16:53  wangxiaoxiao  阅读(18)  评论(0)    收藏  举报