题目链接: https://leetcode-cn.com/problems/reshape-the-matrix

难度:简单

通过率:61.6%

题目描述:

在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。

给出一个由二维数组表示的矩阵,以及两个正整数rc,分别表示想要的重构的矩阵的行数和列数。

重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。

如果具有给定参数的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. 给定矩阵的宽和高范围在 [1, 100]。
  2. 给定的 r 和 c 都是正数。

思路:

思路一:遍历所有

思路二:numpy

代码:

思路一:

class Solution:def matrixReshape(self, nums: List[List[int]], r: int, c: int) -> List[List[int]]:row, col = len(nums), len(nums[0])if row * col != r * c: return numsres, cur =[], []for num in itertools.chain.from_iterable(nums):cur.append(num)if len(cur) == c:res.append(cur)cur = []return res

思路二:

class Solution:def matrixReshape(self, nums: List[List[int]], r: int, c: int) -> List[List[int]]:import numpy as nprow, col = len(nums), len(nums[0])if row * col != r * c: return numsreturn np.reshape(nums, (r, c)).tolist()

遍历矩阵每一行穷举_[LeetCode] 566. 重塑矩阵相关推荐

  1. 遍历矩阵每一行穷举_六十三---矩阵中的路径

    题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...

  2. 遍历矩阵每一行穷举_LeetCode:二维数组—旋转矩阵

    点击上方蓝字关注我们 题目描述:"给衣服N*N的矩阵表示图像,其中每个像素的大小为4字节,设计一个算法,图像旋转90度" 示例: matrix=[[1, 2, 3],[4, 5, ...

  3. leetcode 566. 重塑矩阵(Java版,坐标转换)

    题目 https://leetcode-cn.com/problems/reshape-the-matrix/ 题解 草稿是将 3*4 矩阵转化为 4*3 矩阵的例子: 做完之后发现思路与官方题解一致 ...

  4. Leetcode刷题100天—566. 重塑矩阵(数组)—day25

    前言: 作者:神的孩子在歌唱 大家好,我叫运智 566. 重塑矩阵 难度简单233收藏分享切换为英文接收动态反馈 在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n ...

  5. java获取数组穷举_递归算法求解遍历(或穷举)问题

    递归算法求解遍历(或穷举)问题 递归问题可以理解为遍历问题,必须遍历出所有的数据来,才能进行相应的运算,比如Fibonacci问题.阶乘问题,必须把每一步的值都遍历出来,然后才能做加法或乘法. 递归算 ...

  6. java获取数组穷举_被BAT疯抢的Java工程师,都是怎么拿到年薪50W的offer

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师. 那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之 ...

  7. Java实现穷举_对数器实现(C++)

    主要参考左神的JAVA版的对数器实现,主要分为以下几个步骤: 产生随机数组或者字符串,本例产生随机数组 找一个绝对正确的方法,不管复杂度 对比自己实现的方法和绝对正确的方法的结果,若相同,则返回tru ...

  8. 力扣题目——566. 重塑矩阵

    注:本文的实现思路主要是基于JS(JavaScript),涉及到的一些函数都是JS中的自带函数 题目描述 在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重 ...

  9. leetcode-数据结构-566. 重塑矩阵

    问题分析 在 MATLAB 中,有一个非常有用的函数 reshape , 它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据. 给一个由二维数组 mat 表示的 ...

最新文章

  1. SAXParserFactory之求解
  2. centos6.8 配置 tomcat
  3. NYOJ 905 卡片游戏
  4. 练习算法之前必须了解的多件事
  5. python123io如何编辑_计算机二级python学习教程(1) 教大家如何学习python
  6. CrossOver for Mac(Mac安装Windows应用)
  7. 升级到Tomcat9之后js中文乱码解决办法
  8. VS2008下 天龙客户端编译
  9. Windows 启动jar程序
  10. CSDN 博客更换皮肤
  11. 在vue中使用turn.js
  12. CH583/CH579蓝牙智能遥控器方案
  13. 怎样计算系统的可靠性和可用性是几个9?
  14. 回归测试对比确认测试的区别
  15. 【Opencv】目标追踪——高斯混合模型分离算法(MOG)
  16. 知乎社区平台分析报告
  17. 不掉帧不卡顿的游戏直播画面看起来爽爆了,求网络推流搭建方案
  18. 电脑屏幕扩展后电脑没有声音
  19. 3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子
  20. jxTMS--demo说明

热门文章

  1. python gettext_python gettext使用
  2. c语言程序做成可执行文件,windows环境下C程序生成可执行文件
  3. python1到n的所有排列_非递归输出1-N的全排列的方法详解
  4. VMware中ubuntu虚拟机与windows的端口映射,共享一个IP地址
  5. python中的__slots__
  6. leetcode第 46 场双周赛
  7. 搜索引擎核心技术与算法 —— 词项词典与倒排索引优化
  8. Spring Boot 2.3.0 发布
  9. 蚂蚁三面题目(java开发岗):Java锁机制+JVM+线程池+事务+中间件
  10. 将二维列表输出到excel