题解 | 矩阵和向量的点积

矩阵和向量的点积

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)

全部评论

相关推荐

真烦好烦真烦:牛友太有实力了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务