题解 | 矩阵和向量的点积
矩阵和向量的点积
https://www.nowcoder.com/practice/a7c9e4eb3b3745cf8d81d6159051937d
def matrix_vector_dot_product(matrix, vector):
if not matrix or not vector:
return -1
# 检查矩阵每行的列数是否一致
cols = len(matrix[0])
for row in matrix:
if len(row) != cols:
return -1
# 检查向量是否是二维的(例如[[1,2,3]]的情况)
if isinstance(vector[0], list):
return -1
# 检查矩阵的列数是否等于向量的长度
if cols != len(vector):
return -1
# 计算点积
result = []
for row in matrix:
product = sum(a * b for a, b in zip(row, vector))
result.append(product)
return result
# 主程序
if __name__ == "__main__":
# 输入矩阵和向量
matrix_input = input()
vector_input = input()
# 处理输入
import ast
matrix = ast.literal_eval(matrix_input)
vector = ast.literal_eval(vector_input)
# 调用函数计算点积
output = matrix_vector_dot_product(matrix, vector)
# 输出结果
print(output)


vivo公司福利 365人发布