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…...
从专利数量到创新质量:解读中国专利申请背后的产业逻辑与价值评估
1. 从“专利数量”到“创新质量”:一个从业者的深度观察最近和几位在半导体和物联网领域做研发的朋友聊天,话题不约而同地转到了知识产权上。大家普遍的感觉是,现在无论是产品立项、技术合作还是出海竞争,专利已经从一个“锦上添花…...
如何用python函数制作一个计算工具
大家好,这里是junlang的python文章 今天教大家如何用python函数做一个计算器,希望大家好好学习哦 如何制作 首先我们先定义4个函数,其中除法计算代码请看下面: def add (a,b,c):return (a b - c) def sub (x,y):return(x - y) def mulpl…...
量子计算在供应链风险模拟中的革命性应用
1. 量子计算在供应链风险模拟中的革命性突破零售供应链风险管理正面临前所未有的挑战。2021年全球半导体短缺导致汽车行业损失2100亿美元,而疫情期间超市缺货率超过15%——这些危机暴露了传统风险模型的根本缺陷:它们假设供应链节点故障是独立事件&#…...
构建可信AI系统:从黑箱到透明决策的工程实践
1. 项目概述:当AI开始“思考”自己是谁最近和几个做AI安全的朋友聊天,大家不约而同地提到了一个越来越棘手的问题:我们怎么知道一个AI系统在“想”什么?或者说,我们怎么判断它给出的答案、做出的决策,是“可…...
终极显卡驱动清理指南:如何使用Display Driver Uninstaller彻底解决驱动残留问题
终极显卡驱动清理指南:如何使用Display Driver Uninstaller彻底解决驱动残留问题 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/dis…...
3分钟掌握Navicat重置脚本:让Mac版数据库工具无限试用
3分钟掌握Navicat重置脚本:让Mac版数据库工具无限试用 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为Navi…...
初创团队如何利用 Taotoken 低成本启动 AI 功能开发与迭代
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创团队如何利用 Taotoken 低成本启动 AI 功能开发与迭代 对于资源有限的初创团队而言,在开发具备 AI 功能的产品时&a…...
Silvaco TCAD新手必看:迁移率模型到底怎么选?从CONMOB到ANALYTIC的保姆级指南
Silvaco TCAD迁移率模型选择指南:从理论到实践的完整决策框架 半导体器件仿真中,迁移率模型的选择往往让初学者感到无从下手。我第一次接触Silvaco TCAD时,面对CONMOB、ANALYTIC、KLAASSEN等十几种模型选项,花了整整两周时间才弄明…...
别再手动K帧了!Maya路径动画保姆级教程,5分钟让模型丝滑走位
Maya路径动画终极指南:告别手动K帧,实现模型智能运动 在三维动画制作中,让角色或物体沿着预设路径运动是一个常见需求。无论是制作蛇形移动的生物、赛车漂移轨迹,还是摄像机漫游动画,路径动画都能大幅提升工作效率。传…...
FFmpeg GUI终极指南:图形化音视频处理神器快速上手
FFmpeg GUI终极指南:图形化音视频处理神器快速上手 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI 还在为复杂的FFmpeg命令行参数而头疼吗?FFmpeg GUI将彻底改变你的音视频处理体验!这…...
