📅  最后修改于: 2023-12-03 15:39:53.507000             🧑  作者: Mango
这个Python函数的作用在于将给定的矩阵放大,使得每个元素出现在R行和C列中。如果在R行和C列放大后,矩阵中的元素不足,则在末尾补0。
def matrixReshape(nums: List[List[int]], r: int, c: int) -> List[List[int]]:
放大后的矩阵,类型为List[List[int]]。
当输入的矩阵满足以下条件时,可以被放大:
示例1:
nums = [[1,2],[3,4]]
r = 1
c = 4
matrixReshape(nums, r, c)
输出:
[[1,2,3,4]]
示例2:
nums = [[1,2],[3,4]]
r = 2
c = 4
matrixReshape(nums, r, c)
输出:
[[1,2],[3,4]]
该函数的时间复杂度为 $O(m \times n)$,m 和 n 分别为原始矩阵的行数和列数。
from typing import List
def matrixReshape(nums: List[List[int]], r: int, c: int) -> List[List[int]]:
m, n = len(nums), len(nums[0])
if r*c != m*n:
return nums
res = [[0] * c for _ in range(r)]
for i in range(r*c):
res[i//c][i%c] = nums[i//n][i%n]
return res