Reshape the Matrix[LeetCode/Python3/Easy]
題目 在 MATLAB 中有一個方便的函數叫作 reshape ,可以將一個 m x n 的矩陣轉換為一個新的矩陣,大小為 r x c ,並保留其原始數據。 給定一个由二维数组表示的矩阵 mat ,以及两个正整数 r 和 c ,分别表示想要的矩阵的行數和列數。 将矩阵以相同的行遍历顺序重新排列成一个新的矩阵。如果所需大小为给定矩阵大小的子矩阵,则可以进行重塑操作。 如果重新调整大小操作具有合法性,并且可以按照所需大小重塑矩阵,则输出新的重新调整大小后的矩阵;否则,输出原始矩阵。 示例 1: 输入:mat = [[1,2],[3,4]], r = 1, c = 4 输出:[[1,2,3,4]] 示例 2: 输入:mat = [[1,2],[3,4]], r = 2, c = 4 输出:[[1,2],[3,4]] 提示: m == mat.length n == mat[i].length 1 <= m, n <= 100 1000 <= mat[i][j] <= 1000 1 <= r, c <= 300 我的答案 直覺解答 class Solution: def matrixReshape(self, mat: List[List[int]], r: int, c: int) -> List[List[int]]: m = len(mat) n = len(mat[0]) if m*n != r*c: return mat re_mat=[] rr=0 cc=0 for i in range(m): for j in range(n): if cc ==0: re_mat.append([mat[i][j]]) cc+=1 elif cc == c: re_mat.append([mat[i][j]])