LeetCode: 566. Reshape the Matrix
来源:互联网 发布:尚德自考靠谱 知乎 编辑:程序博客网 时间:2024/06/01 07:13
LeetCode: 566. Reshape the Matrix
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 r1 = nums.length; int c1 = nums[0].length; if (r1 * c1 != r * c) { return nums; } int [] temp = new int[r1 * c1]; for (int i = 0; i < r1; i++) { for (int j = 0; j < c1; j++) { temp[c1 * i + j] = nums[i][j]; } } int[][] result = new int[r][c]; for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { result[i][j] = temp[i * c + j]; } } return result; }}
- 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
- 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
- 学习笔记:数据结构、算法::求最大子列和
- ES6 notes
- 简析JNI的使用
- PostgreSQL 百万级每秒的流式实时统计应用
- Luogu 1111 修复公路
- LeetCode: 566. Reshape the Matrix
- Char 和 Varchar 的区别
- Entity Framework Code First实体对象变动跟踪
- Android 启动退出时的相关问题
- Android_WebView踩坑系列
- 关于前端兼容所有浏览器的一些想法和总结
- 高级I/O之多路转接epoll
- SwipeRefreshLayout 上拉刷新和下拉刷新
- iOS逆向:在任意app上开启malloc stack追踪内存来源