leetcode如何重塑矩阵
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要为大家展示了"leetcode如何重塑矩阵",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"leetcode如何重塑矩阵"这篇文章吧。一、题目内容
千家信息网最后更新 2026年10月31日leetcode如何重塑矩阵
这篇文章主要为大家展示了"leetcode如何重塑矩阵",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"leetcode如何重塑矩阵"这篇文章吧。
一、题目内容
在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。
给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。
重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。
如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。
示例 1:
输入:
nums =
[[1,2],
[3,4]]
r = 1, c = 4
输出:
[[1,2,3,4]]
解释:
行遍历nums的结果是 [1,2,3,4]。新的矩阵是 1 * 4 矩阵, 用之前的元素值一行一行填充新矩阵。
示例 2:
输入:
nums =
[[1,2],
[3,4]]
r = 2, c = 4
输出:
[[1,2],
[3,4]]
解释:
没有办法将 2 * 2 矩阵转化为 2 * 4 矩阵。 所以输出原矩阵。
注意:
给定矩阵的宽和高范围在 [1, 100]。
给定的 r 和 c 都是正数。
二、解题思路
直接按照整除列数得到行数,取余得到每行的位置,逐一赋值即可。
三、代码
class Solution: def matrixReshape(self, nums: list, r: int, c: int) -> list: if len(nums) * len(nums[0]) != r * c: return nums ans = [[0 for _ in range(c)] for _ in range(r)] for i in range(len(nums) * len(nums[0])): ans[i // c][i % c] = nums[i // len(nums[0])][i % len(nums[0])] return ansif __name__ == '__main__': s = Solution() nums = [[1, 2], [3, 4]] r = 1 c = 4 ans = s.matrixReshape(nums, r, c) print(ans)
以上是"leetcode如何重塑矩阵"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
矩阵
输出
内容
原始
篇文章
一行
元素
示例
学习
帮助
解释
输入
重构
不同
可行
相同
两个
代码
位置
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
新华互联网科技学校
河南真二互联网科技有限公司
广州互联网科技公司
互联网 的科技创新
互联网科技排名
齐家互联网科技有限公司
衡水科技产业互联网平台
互联网校园科技培训
知域互联网科技有限公司大骗子
坤平互联网科技
晋城互联网科技
南通创西澳互联网科技有限公司
互联网科技股为什么大涨
图游互联网科技
2021世界互联网领先科技成果发布
新氧科技和美国互联网有关系吗
杭州科技互联网公司有哪些
互联网的黑科技实验室
前海云享互联网科技
咖啡网
科技金融是不是互联网金融
互联网科技未来
港股互联网科技股
科技与互联网的利与弊
常德市电业局互联网科技部
互联网为啥属于高科技
乌苏新华互联网科技做什么的
华中科技大学互联网的牛人
新氧科技和美国互联网有关系吗