【Leetcode 566】【Easy】重塑矩阵

news/2024/7/8 9:14:16 标签: 算法

目录

题目描述

整体思路

具体代码


题目描述:
 

原题链接

整体思路

首先要确保重塑后的矩阵内元素个数和原矩阵元素个数要相同,如果不同则原样返回原矩阵。

按行遍历顺序遍历原矩阵,设一个临时vector<int>存放新矩阵的每一行的元素,一边遍历一边判断临时vector的元素个数是否等于新矩阵每一行的元素个数,若相等,则说明新矩阵一行已完成,要读下一行,把临时vector元素清空同时新矩阵行数r要-1。若不相等,说明新矩阵的一行的元素还没读完,要继续往临时vector添加原矩阵元素。重复上述步骤知道新矩阵行数r=0。

具体代码

class Solution {
public:
    vector<vector<int>> matrixReshape(vector<vector<int>>& mat, int r, int c) {
        if(r*c!=mat.size()*mat[0].size()) return mat;
        vector<vector<int>> v;
        vector<int> v2;
        for(int i=0;i<=mat.size()-1;i++){
            for(int j=0;j<=mat[0].size()-1;j++){
                if(r==0) break;
                if(v2.size()==c){
                    v.push_back(v2);
                    v2=vector<int>();//清空临时矩阵
                    v2.push_back(mat[i][j]);//别忘了要往临时矩阵添加本次遍历到的原矩阵元素,弄,否则会漏
                    r--;
                }else{
                    v2.push_back(mat[i][j]);
                }
            }
        }
        if(v2.size()==c){//特殊情况是r=0但是临时vector还未存入新矩阵,特殊处理
            v.push_back(v2);
        }
        return v;
    }
};

 


http://www.niftyadmin.cn/n/5536915.html

相关文章

数字人大赋能未来治理新篇章,正宇软件助力人大建设新实践

在全面贯彻落实党的二十大精神的开局之年&#xff0c;数字中国战略的深入实施如同一股强劲的东风&#xff0c;吹遍了神州大地的每一个角落。作为数字中国建设的重要组成部分&#xff0c;数字人大作为现代信息技术与人大工作深度融合的产物&#xff0c;正以其独特的魅力和深远的…

Eureka Server集群数据一致性保障策略:深入解析与实践技巧

Eureka Server集群数据一致性保障策略&#xff1a;深入解析与实践技巧 在微服务架构中&#xff0c;服务注册与发现是实现服务间通信的关键机制。Eureka&#xff0c;作为Netflix开源的服务注册与发现框架&#xff0c;其集群模式下的数据一致性问题尤为关键。本文将深入探讨Eure…

机车自动换档系统的单片机设计方案

在地铁工程建设中&#xff0c;工程用内燃机车&#xff08;简称工程车&#xff09;起到了非常重要的作用。尤其在地铁建设初期&#xff0c;由于需要运送大量的建筑材料&#xff0c;而初期的运输条件又比较简陋&#xff0c;因而工程车成为主要的运输工具。在地铁建成后的运营中&a…

【大模型】大模型中的稀疏与稠密——一场效率与性能的较量

大模型中的稀疏与稠密——一场效率与性能的较量 深度解码&#xff1a;大模型中的稀疏与稠密——一场效率与性能的较量引言一、揭开面纱&#xff1a;何为稀疏与稠密&#xff1f;稠密模型&#xff1a;全连接的魅力稀疏模型&#xff1a;精简的力量 二、深度对比&#xff1a;稀疏与…

2024攻防演练:亚信安全推出MSS/SaaS短期定制服务

随着2024年攻防演练周期延长的消息不断传出&#xff0c;各参与方将面临前所未有的挑战。面对强大的攻击队伍和日益严格的监管压力&#xff0c;防守单位必须提前进行全面而周密的准备和部署。为应对这一形势&#xff0c;亚信安全特别推出了为期三个月的MSS/SaaS短期订阅方案。该…

【产品经理】订单处理12-订单的取消与反取消

在电商ERP系统中&#xff0c;订单取消与反取消也是常见功能之一。 订单取消与反取消也是电商ERP系统的常见功能&#xff0c;本次主要讲解下订单取消与反取消的逻辑。 一、订单取消 在电商ERP系统中&#xff0c;订单取消一般由审单员操作&#xff0c;此类取消一般是由于上下游…

vue process.env.VUE_APP_BASE_API的相关配置及axios简单封装

1、根目录底下新建.env.dev和env.prod,内容如下&#xff1a; VUE_APP_BASE_API http://192.168.1.xx:xxx2、vue.config相关内容&#xff1a; devServer: {hot: true, //热加载host: 0.0.0.0,port: 8080, //端口// https: false, //false关闭https&#xff0c;true为开启// op…

着色器预热?为什么 Flutter 需要?为什么原生 App 不需要?那 Compose 呢?Impeller 呢?

依旧是来自网友的问题&#xff0c;这个问题在一定程度上还是很意思的&#xff0c;因为大家可能会想&#xff0c;Flutter 使用 skia&#xff0c;原生 App 是用 skia &#xff0c;那为什么在 Flutter 上会有着色器预热&#xff08;Shader Warmup&#xff09;这样的说法&#xff1…