1. 题目大意

根据给定矩阵,重塑一个矩阵,r是所求矩阵的行数,c是所求矩阵的列数。如果给定矩阵和所求矩阵的数据个数不一样,那么返回原矩阵。否则,重塑矩阵。其中两个矩阵中的数据顺序不变(先行后列)。

2. 思路

由于矩阵中数据顺序不变,因此我们考虑按顺序做。原矩阵中的第i行第j列(从0开始)的数据可以记为第k个数,其中k=i*(原矩阵中的列数)+j。对应的是新产生的矩阵中的第k/c行,k%c列的元素。一一赋值。这题的关键是要小心数组的边界,正确找到对应的位置。

3. 代码

class Solution {
public:
vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
int total = r*c, originr = nums.size(), originc = nums[0].size();
if(total != (originr*originc)) return nums;
vector<vector <int> > res(r ,vector<int>(c));
for(int k = 0; k < total; k++) res[k / c][k % c] = nums[k / originc][k % originc];
return res;
}
};

  

最新文章

  1. 理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)
  2. 15-前端开发之JavaScript
  3. stream数据流
  4. HDOJ Problem - 1299
  5. No Javascript on this page
  6. W3School-CSS 字体(font)实例
  7. FineReport报表系统实例方案之医院院长查询分析系统
  8. hibernate基础的CRUD的操作
  9. GitHub Extension for Visual Studio 2.0 is now available
  10. hibernate一对多注解
  11. MongoDB小记
  12. Style 的优先级
  13. 简单的实现QQ通信功能(三)
  14. Ubuntu 13.10 PHP 5.5.x mcrypt missing – Fatal Error: Undefined function mcrypt_encrypt()!
  15. Java基础知识强化52:经典排序之冒泡排序(BubbleSort)
  16. Spring Boot 最核心的 25 个注解,都是干货!
  17. 把本人基于Dubbo的毕业设计分享粗来~
  18. protobuf和protostuff的区别
  19. zabbix配置server,proxy,agent架构
  20. react native android 编译

热门文章

  1. oracle中的事务
  2. 500. Keyboard Row (5月26日)
  3. ABAP术语-RFC (Remote Function Call)
  4. python学习笔记:第14天 内置函数补充和递归
  5. 企业网站被黑 dedecms漏洞修复办法
  6. PHP连接MySql闪断自动重连的方法
  7. Hangfire初探
  8. epoll 服务端 ET模式
  9. ggnetwork
  10. 为什么我要放弃javaScript数据结构与算法(第十章)—— 排序和搜索算法