题解 | 矩阵转置

矩阵转置

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]]]:
    if not a:
        return []
    
    # 2 x 3
    rows = len(a)
    cols = len(a[0])
    transposed = []

    # 
    for j in range(cols):
        new_row = []
        for i in range(rows):
            new_row.append(a[i][j])
        transposed.append(new_row)
    return transposed

# 处理输入输出
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()

全部评论

相关推荐

01-12 17:45
门头沟学院 Java
叁六玖:这样的应该钱不多,以前我也被问,我在问他们实习公工资多少,一般都是2200-2800
找实习记录
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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