February——566.重塑矩阵

class Solution:
    def matrixReshape(self, nums: List[List[int]], r: int, c: int) -> List[List[int]]:
        row,col = len(nums),len(nums[0])
        #如果行*列大于计算出来的行*列的值,那就直接返回当前nums
        if r*c>row*col:
            return nums
        
        #将当前nums变成一维的列表
        long_nums = []
        for num in nums:
            long_nums.extend(num)
        
        #每一行从long_nums中取出c个元素来,然后添加到结果列表中去
        index = 0
        res = []
        for i in range(r):
            tmp = long_nums[index:index+c]
            index = index+c
            res.append(tmp)
        
        return res
        



        import numpy as np
        return np.asarray(nums).reshape(r, c)
  • 拉伸,赋值或者片段截取即可
  • 用numpy数组更方便

猜你喜欢

转载自blog.csdn.net/weixin_37724529/article/details/113885751