Reshape the Matrix(leetcode)
来源:互联网 发布:什么是字符串数组 编辑:程序博客网 时间:2024/06/03 10:30
Reshape the Matrix
- Reshape the Matrix
- 题目
- 解析
- 解决
题目
leetcode题目
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 = 4Output: [[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 = 4Output: [[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.
解析
函数reshape
就是将原来n * m
的二维数组变成r * c
的新的二维数组。
- 若
n * m == r * c
,则将数组进行转换 - 若
n * m != r * c
,则直接返回原数组
解决
class Solution {public:vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) { int row = nums.size(); int col = nums[0].size(); if (row * col == r * c) { vector<vector<int>> result; vector<int> temp; for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { /* vector<vector<int>>虽然可以看作是一个二维数组的容器,但是不能直接循环赋值,例如:`result[a][b] = nums[i][j]`*/ temp.push_back(nums[i][j]); if (temp.size() == c) { result.push_back(temp); temp.clear(); } } } return result; } else { return nums; } }};
阅读全文
0 0
- Reshape the Matrix(leetcode)
- leetCode-Reshape the Matrix
- leetcode 566. Reshape the Matrix
- LeetCode 566. Reshape the Matrix
- [LeetCode]566. Reshape the Matrix
- [leetcode]566. Reshape the Matrix
- LeetCode之Reshape the Matrix
- LeetCode:566. Reshape the Matrix
- leetcode 566. Reshape the Matrix
- LeetCode | 566. Reshape the Matrix
- leetcode-566. Reshape the Matrix
- leetcode 566: Reshape the Matrix
- leetcode 566 Reshape the Matrix
- LeetCode 566.Reshape the Matrix
- LeetCode: 566. Reshape the Matrix
- LeetCode-566. Reshape the Matrix
- LeetCode * 566.Reshape the Matrix
- 【LeetCode】566 Reshape the Matrix
- SSM POI execle 导入篇 (含工具类)
- BZOJ 1565: [NOI2009]植物大战僵尸
- MPI入门
- js实现倒计时效果
- java acm 输入输出io问题
- Reshape the Matrix(leetcode)
- Android:ListView的点击事件与子控件点击冲突的解决
- 汉密尔顿图
- 算法-从动态规划到贪心算法,Bellman-Ford和Dijkstra算法求解最短路
- Eclipse和Intellij idea切换
- 关于Mat
- resource busy and acquire with nowait..
- Android:关于onActivityResult方法不执行的问题
- Verilog RTL 代码设计——译码器&计数器