2023.2.15每日一题——867. 转置矩阵
每日一题
- 题目描述
- 解题核心
- 解法一:二维表示 + 模拟
- 解法二:一维表示 + 模拟
题目描述
题目链接:867. 转置矩阵
给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。
矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例 1
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]
示例 2
输入:matrix = [[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]
提示
m==matrix.lengthn==matrix[i].length- 1 <=
m, n<= 1000 - 1 <=
m * n<= 105 - -109 <=
matrix[i][j]<= 109
解题核心
因为题目里面没有讲一定是方阵,所有原地修改应该是做不到的,需要新建一个转置长度的数组
解法一:二维表示 + 模拟
直接暴力遍历赋值
public int[][] transpose1(int[][] matrix) {int row = matrix.length;//行数int col = matrix[0].length;//列数int[][] ans = new int[col][row];for (int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {ans[j][i] = matrix[i][j];}}return ans;
}
解法二:一维表示 + 模拟
对于一个行数为row,列数为col的二维矩阵转换为一维矩阵表示,其索引值具有一定的映射关系:[i,j] -> [i * row + j],这是线性代数的数学性质,对于任意索引都成立,不会因为从0开始而失效
public int[][] transpose2(int[][] matrix) {int row = matrix.length;//行数int col = matrix[0].length;//列数int[][] ans = new int[col][row];for (int i = 0; i < row * col; i++) {ans[i / row][i % row] = matrix[i % row][i / row];}return ans;
}
相关文章:
2023.2.15每日一题——867. 转置矩阵
每日一题题目描述解题核心解法一:二维表示 模拟解法二:一维表示 模拟题目描述 题目链接:867. 转置矩阵 给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。 矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵…...
【人脸识别】Partial-FC:让你在一台机器上训练1000万个id人脸数据集成为可能!
论文题目:”Killing Two Birds with One Stone: Efficient and Robust Training of Face Recognition CNNs by Partial FC“ -CVPR 2022 代码地址:https://arxiv.org/pdf/2203.15565.pdf 代码地址:https://github.com/deepinsight/insightfac…...
递归方法读取任意深度的 JSON 对象的键值
有以下json字符串 {"name":"John","age":30,"address":{"city":"New York","state":"NY","zip":"10001","coordinates":{"latitude":40.712776,&q…...
黑马redis学习记录:分布式锁
一、基本原理和实现方式对比 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行…...
对React-Fiber的理解,它解决了什么问题?
对React-Fiber的理解,它解决了什么问题?Fiber用来解决什么问题?Fiber是什么?Fiber是如何解决问题的?Fiber用来解决什么问题? JavaScript引擎和页面渲染引擎两个线程是互斥的,当其中一个线程执行…...
【Linux】初学Linux你需要掌握这些基本指令(二)
目录 1.man指令 2.cp指令 3.mv指令 4.tree指令 5.echo指令 6.more指令 7.less指令(重要) 8.head与tail指令 9.date指令 显示时间常用参数: 设置时间常用参数: 10.cal指令 11.find & whereis & which指令 …...
Linux中VI/VIM 编辑器
1、概述所有Linux系统都会内置vi文本编辑器vim是vi的升级版,可以主动以字体颜色分辨语法的正确性,代码补完和编译,错误跳转等功能。2、vi和vim的三种模式基本上 vi/vim 共分为三种模式,分别是一般模式、编辑模式、命令模式2.1、一…...
PDF怎么转换成Word?两种PDF免费转Word方法推荐
不知道你们有没有发现,我们在网上下载的很多资料都是PDF格式的,尽管PDF文件也可以通过专门的PDF编辑器来编辑,但是PDF文档作为版式文档,编辑起来还是存在很多局限性,所有当我们需要大量编辑修改文档的时候,…...
极兔一面:Dockerfile如何优化?注意:千万不要只说减少层数
说在前面 在40岁老架构师 尼恩的读者交流群(50)中,面试题是一个非常、非常高频的交流话题。 最近,有小伙伴面试极兔时,遇到一个面试题: 如果优化 Dockerfile? 小伙伴没有回答好,只是提到了减少镜像层数。…...
SpringBoot+Vue实现酒店客房管理系统
文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…...
自适应多因素认证:构建不可破解的企业安全防线|身份云研究院
打开本文意味着你理解信息安全的重要性,并且希望获取行业最佳实践来保护你所在组织的信息安全。本文将带你了解多因素认证(MFA:Multi-Factor-Authentication)对于企业信息安全的重要性以及实施方法。 多因素认证(MFA&…...
阶段二8_集合ArrayList_学生管理系统_详细步骤
一.学生管理系统案例 1.需求: 针对目前我们的所学内容,完成一个综合案例:学生管理系统! 该系统主要功能如下: 1.添加学生:通过键盘录入学生信息,添加到集合中 2.删除学生:通过键盘录…...
一篇解决Linux 中的负载高低和 CPU 开销并不完全对应
负载是查看 Linux 服务器运行状态时很常用的一个性能指标。在观察线上服务器运行状况的时候,我们也是经常把负载找出来看一看。在线上请求压力过大的时候,经常是也伴随着负载的飙高。 但是负载的原理你真的理解了吗?我来列举几个问题&#x…...
关于IDM下载器,提示:一个假冒的序列号被用来注册……idea项目文件路径报红
关于IDM下载器,提示:一个假冒的序列号被用来注册……到C:\Windows\System32\drivers\etc 修改目录下面的hosts文件(如果没有修改的权限就右键属性hosts文件修改user的权限为完全控制),在hosts里面增加以下内容…...
JVM - 高效并发
目录 Java内存模型和内存间的交互操作 Java内存模型 内存间的交互操作 内存间交互操作的规则 volatile特性 多线程中的可见性 volatile 指令重排原理和规则 指令重排 指令重排的基本规则 多线程中的有序性 线程安全处理 锁优化 锁优化之自旋锁与自适应自旋 锁优…...
中小学智慧校园电子班牌系统源码 Saas云平台模式
智慧电子班牌区别于传统电子班牌,智慧校园电子班牌系统更加注重老师和学生的沟通交流和及时数据交互。学校为每个教室配置一台智能电子班牌,一般安装于教室门口,用来实时显示学校通知、班级通知,可设置集中分布式管理,…...
记录一次服务器被攻击的经历
突然收到阿里云发过来的异常登陆的信息: 于是,急忙打开电脑查看对应的ECS服务器的记录: 发现服务器的cpu占用率异常飙升,所以可以大概断定服务器已经被非法入侵了。 通过自己的账号登陆后,发现sshd服务有异常的链接存…...
Python解题 - CSDN周赛第29期 - 争抢糖豆
本期问哥是志在必得,这本算法书我已经觊觎许久,而之前两次因为种种原因未能如愿。因此,问哥这几天花了不少时间,把所有之前在每日一练做过的题目重新梳理了一遍。苦心人,天不负,感谢官方大大! 第…...
C代码中访问链接脚本中的符号
一、目的在之前的《GNU LD脚本命令语言(一)》、《GNU LD脚本命令语言(二)》我们介绍了GNU链接脚本的知识点,基本上对链接脚本中的SECTION、REGION、以及加载地址与执行地址的关系等内容有了一定的了解。本篇主要讲解链…...
MySQL 8:MySQL索引
索引就是通过一定的算法建立数据模型,用于快速查找某一列中具有特定值的行。如果没有索引,MySQL 必须从第一条记录开始读取整个表,直到找到相关的表。表越大,查询数据所花费的时间就越多。如果表中查询的列有索引,MySQ…...
Dify向量检索精度跃升47%的秘密(重排序Pipeline低延迟部署避坑手册)
第一章:Dify重排序算法精度跃升47%的核心动因解析Dify v0.12.0 引入的重排序(Reranking)模块并非简单叠加模型,而是通过三重协同优化机制实现精度质变。核心突破在于将传统单阶段打分范式升级为「语义对齐—上下文感知—动态归一化…...
CosyVoice Docker 部署优化:如何有效降低 CPU 占用率
在语音合成服务日益普及的今天,CosyVoice 凭借其出色的音质和灵活性,成为了许多开发者的选择。然而,当我们将它部署到 Docker 容器中时,一个普遍且棘手的问题随之而来:CPU 占用率居高不下。这不仅导致服务器资源成本飙…...
工单系统已经上线,但 IT 管理并没有真正变好
在很多企业中,引入 IT 工单系统往往被视为 IT 管理升级的重要一步。 有了统一入口、有了记录机制、有了流程流转,看起来一切都开始变得规范起来。但实际运行一段时间后,不少团队会发现: 工单确实在增加,流程也在走&…...
Chatbot Arena排行榜单实战指南:从数据采集到模型优化
Chatbot Arena排行榜单实战指南:从数据采集到模型优化 在构建和优化自己的对话AI时,我们常常面临一个核心问题:如何客观、全面地评估它的性能?闭门造车式的测试往往带有主观偏见,而Chatbot Arena这类公开的排行榜单&a…...
解构 Claude Code
大多数开发者认为 AI 编码工具就是一个聊天界面。你输入,它回复。你复制代码。你继续前进。 Claude Code 完全不同。 1、传统方式 vs Claude Code 方式 想象雇佣一位聪明的开发者,他他* 每次关闭对话就忘记一切 不知道自己在什么项目除非你每次都描述…...
SEO_详解SEO优化的完整工作流程与执行要点
<h2>SEO优化的重要性</h2> <p>在当前数字化时代,网站的可见度和流量直接关系到企业的市场竞争力。搜索引擎优化(SEO)作为提升网站在搜索引擎中排名的关键手段,其重要性不言而喻。SEO不仅能帮助企业吸引更多的自…...
JiYuTrainer:如何一键解除极域电子教室的全屏控制限制?
JiYuTrainer:如何一键解除极域电子教室的全屏控制限制? 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 你是否曾在机房上课时,被极域电子教室的…...
逆流而上,逐光而行:光伏微逆的技术探索之路
交错反激光伏并网微逆:软件源程序硬件资料详细设计说明文档 产品介绍: 本项目用于单相光伏并网微型逆变器。 前级采用交错反激拓扑生成馒头波,后级采用SCR拓扑反向得到正弦波,带有:MPPT、锁相环、孤岛检测。 本项目支持…...
Cadence原理图库‘幽灵版本’冲突全解析:从ORDBLL-1125报错看Cache机制与避坑指南
Cadence原理图库‘幽灵版本’冲突全解析:从ORDBLL-1125报错看Cache机制与避坑指南 在电子设计自动化(EDA)领域,Cadence作为行业标杆工具链,其原理图设计模块被广泛应用于各类复杂电路开发。然而,许多资深用…...
微带贴片天线基础计算
2GHz微带阵列天线,HFSS仿真模型,介质板为FR4,增益4.5dBi,驻波小于1.5。最近在捣鼓2GHz频段的微带阵列天线设计,用HFSS建模仿真时遇到不少有意思的问题。FR4板材这玩意儿看着普通,实际用在天线设计里真得小心…...
