博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode--Algorithm--Array_Part 1 Easy- 566 Reshape the Matrix
阅读量:4520 次
发布时间:2019-06-08

本文共 795 字,大约阅读时间需要 2 分钟。

LeetCode Array Part 1 Easy

2017-12-28  10:01:31

566. Reshape the Matrix 重塑矩阵

https://leetcode.com/problems/reshape-the-matrix/description/

要求是 实现 Matlabe 中的 reshape函数。对二维数组大小重新分配。

 

方法:

  1. 先把原数组拉直,变成一条直线,然后再组成新的数组。

  先判断给定数组能否重塑成给定的大小,就是看两者的元素总数是否相同,直接行数乘以列数,

  然后新建一个目标大小的数组,并开始遍历,对于每个位置,先转为拉直后的一维坐标,然后再算出在原数组中的对应位置赋值过来即可。

  

1 class Solution { 2     public int[][] matrixReshape(int[][] nums, int r, int c) { 3         int m = nums.length, n = nums[0].length; 4          5         // 重置矩阵为任意维度 前提是矩阵里的元素总数不变 6         if(r*c != m*n) return nums; 7         int[][] res = new int[r][c]; 8         // core code 9         for(int i = 0; i < r*c; i++)10             res[i/c][i%c] = nums[i/n][i%n];11         12         return res;13     }14 }

 

  

转载于:https://www.cnblogs.com/masterSoul/p/8134260.html

你可能感兴趣的文章
Keil c中自定义带可变参数的printf函数
查看>>
抽象类实例
查看>>
react context prop-types
查看>>
Java之路——Java初接触
查看>>
2018.12.27学习JavaScript
查看>>
Cocoa编程开发者手册
查看>>
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
查看>>
html5基础学习
查看>>
理工之 A+B Problem III
查看>>
SalesForce自定义按钮(javascript执行),点击按钮更新Filed
查看>>
Android中ViewPager实现滑动条及与Fragment结合的实例教程
查看>>
组织过程资产与事业环境因素
查看>>
学习和思考的要点
查看>>
java问题解读,String类为什么是final的
查看>>
JavaWeb项目用浏览器打开网页出现Session Error提示的解决办法
查看>>
软件工程第一次作业
查看>>
【Android 界面效果24】Intent和PendingIntent的区别
查看>>
node学习之搭建服务器并加装静态资源
查看>>
android 按menu键解锁功能的开关
查看>>
wpf 自定义窗口,最大化时覆盖任务栏解决方案
查看>>