#day 18 # 在MATLAB中,有一个非常有用的函数reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 #给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 # 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。 # 如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。 def day18(nums,r,c): row_=[] cow_=[] nums_r=len(nums) nums_c=len(nums[0]) if nums_c*nums_r != r*c: return nums c_=0 for row in nums: for cow in row: row_.append(cow) c_+=1 if c_==c: cow_.append(row_) row_=[] c_=0 return cow_ if __name__ == '__main__': nums=[[1,2],[3,4],[3,5]] r=2 c=3 print(day18(nums,r,c))
输出结果:[[1, 2, 3], [4, 3, 5]]