题解 | 矩阵转置

矩阵转置

https://www.nowcoder.com/practice/7a8b443abda641bba5f70e0b4ebd8161

from typing import List, Union
# 使用 Union 来表示类型可以是 int 或 float
def transpose_matrix(a: List[List[Union[int, float]]]) -> List[List[Union[int, float]]]:
    output_matrix = [[0 for _ in range(len(a))] for _ in range(len(a[0]))]

    for i in range(len(a)):  # 遍历行
        for j in range(len(a[0])):  # 遍历列
            output_matrix[j][i] = a[i][j]  # 转置操作
    return output_matrix

# 处理输入输出
def main():
    try:
        matrix_str = input().strip()
        # 去掉最外层的方括号,并分割每个子数组
        rows = matrix_str[2:-2].split("],[")
        # 将每个子数组转换为数字列表
        matrix = [list(map(int, row.split(","))) for row in rows]
        # 计算转置矩阵
        result = transpose_matrix(matrix)
        # 格式化输出
        print(str(result).replace(" ", ""))
    except Exception as e:
        print(f"输入格式错误: {e}")


if __name__ == "__main__":
    main()
def transpose_matrix(a: List[List[Union[int, float]]]) -> List[List[Union[int, float]]]:
    return [list(i) for i in zip(*a)]
def transpose_matrix(a: List[List[Union[int, float]]]) -> List[List[Union[int, float]]]:
    import numpy as np
    return np.array(a).T.tolist()

全部评论

相关推荐

面了100年面试不知...:被割穿了才想起来捞人了
投递哔哩哔哩等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务