Java 二维数组重组
来源:互联网 发布:网络监控显示不在线 编辑:程序博客网 时间:2024/05/21 21:47
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 therow 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 samerow-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.
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) { }}
解决方法:
public int[][] matrixReshape(int[][] nums, int r, int c) { int n = nums.length, m = nums[0].length; if (r*c != n*m) return nums; int[][] res = new int[r][c]; for (int i=0;i<r*c;i++) res[i/c][i%c] = nums[i/m][i%m]; return res;}
阅读全文
0 0
- Java 二维数组重组
- 将二维数组按键值相同的重组数组
- Java数组-二维数组
- 【Java】数组--二维数组
- java-数组/二维数组
- java二维数组问题
- Java二维数组处理
- [Java]二维数组
- java二维数组
- java中的二维数组
- java-二维数组
- java 二维数组
- java二维数组
- java--二维数组
- Java 二维数组
- java二维数组遍历
- java二维数组排序
- java中的二维数组
- ajax上传图片
- 微信小程序 美团顶部搜索框
- PM算法,不需要奇异值分解,快速获得噪声子空间
- Spring注入 @Autowired和setter方式区别原理
- Angular2平滑升级到Angular4的步骤详解
- Java 二维数组重组
- 一种定位内存泄露的方法(Linux)
- 中文语料库
- 三种最常见最短路算法 及其 应用范围
- 深度学习汇报系列:(三、四)概率与优化
- ubuntu正确的密码一直卡在登录界面
- luaError json解析错误1
- [lesson4]用USB连接console
- 4、Java 对象底层