leetcode-566. Reshape the Matrix

来源:互联网 发布:庄子諵哗 知乎 编辑:程序博客网 时间:2024/06/06 08:44

https://leetcode.com/problems/reshape-the-matrix/#/description
一道简单的题目,重塑矩阵,按照输入的行数和列数改造矩阵,但是新改造的顺序需要和原矩阵按行遍历的顺序相同。需要判断改造的矩阵是否合理。

问题描述:
In MATLAB, there is a very useful function called ‘reshape’, which can reshape a matrix into a new one with different size but keep its original data.

You’re given a matrix represented by a two-dimensional array, and two positive integers r and c representing the row number and column number of the wanted reshaped matrix, respectively.

The reshaped matrix need to be filled with all the elements of the original matrix in the same row-traversing order as they were.

If the ‘reshape’ operation with given parameters is possible and legal, output the new reshaped matrix; Otherwise, output the original matrix.

Example 1:
Input:
nums =
[[1,2],
[3,4]]
r = 1, c = 4
Output:
[[1,2,3,4]]
Explanation:
The row-traversing of nums is [1,2,3,4]. The new reshaped matrix is a 1 * 4 matrix, fill it row by row by using the previous list.
Example 2:
Input:
nums =
[[1,2],
[3,4]]
r = 2, c = 4
Output:
[[1,2],
[3,4]]
Explanation:
There is no way to reshape a 2 * 2 matrix to a 2 * 4 matrix. So output the original matrix.
Note:
The height and width of the given matrix is in range [1, 100].
The given r and c are all positive.

解题思路:新建一个矩阵,设立的指针自增,并可以控制换行,将原矩阵的数据导入即可,判断一下改造矩阵的格式是否符合规范。

代码如下:

public class Solution {    public int[][] matrixReshape(int[][] nums, int r, int c) {        int row=nums.length;        int column=nums[0].length;        if(row*column!=r*c)        {            return nums;        }        int[][] newArray=new int[r][c];        int m=0,n=0;        for(int i=0;i<row;i++)        {            for(int j=0;j<column;j++)            {                newArray[m][n]=nums[i][j];                n++;                if(n==c)                {                    n=0;                    m++;                }            }        }        return newArray;    }}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 儿子你搞快点你爸要回来啦电影 儿子快拿出来你爸快回来了视频 儿子你要高就快点你爸回来了电影 儿子你要就快点你爸要回来了小说 儿子 快点妈要来了漫画 你快点啊你爸快回来了视频 儿子快点你爸快回来了在哪能看 儿子搞快点你爸要回来了短文 儿子你快停下你爸要醒了视频 儿子用点力妈 儿子深一点用点力阅读 你要搞就快点你爸快回来了视频 试衣间深一点用点力视频 儿子深一点用点力阅读张研 儿子你用点力全文阅读 啊快一点啊用点力啊视频 儿子再用点力妈要飞了视频 中国真实的母教子视频 四川单亲妈教子性知识 52岁全程落脸视频 我尝到了母爱的滋味开头 我尝到了母爱的滋味txt 我尝到了母爱的甜蜜400 真实母教子视频 我尝到了母亲的滋味400 我尝到了母爱的滋味450 单亲家庭母教子 啊儿子深点妈要来了中文字 美国真实的母教子视频 儿子别 停妈还要中文字 尝到了母爱的滋味400 让儿子尝试了一次中文字 我尝到了母爱的滋味40 我尝到了母爱的滋味400小说下载 好胀胀死妈了乖乖儿子中文字 我尝到了母爱的滋味300 儿子别射J去妈会怀孕视频中文 全屏儿子射J去妈怀孕了漫画 全屏无遮单身妈和儿 四川真实亲妈视频y 全屏无遮单身妈和儿子漫画