LeetCode 48 Rotate Image 解题思路和python代码

题目:
You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise).

You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and do the rotation.

Example 1:
在这里插入图片描述
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
Output: [[7,4,1],[8,5,2],[9,6,3]]

Example 2:
在这里插入图片描述
Input: matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
Output: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

Constraints:

n == matrix.length == matrix[i].length
1 <= n <= 20
-1000 <= matrix[i][j] <= 1000

解题思路:
首先,转置这个matrix。

[[1, 2, 3],[4, 5, 6],[7, 8, 9]]

转置后变成:

[[1, 4, 7],[2, 5, 8],[3, 6, 9]]

接着,把 matrix 中的每一行都reverse。

[[7, 4, 1],[8, 5, 2],[9, 6, 3]]

完成将 matrix 旋转90°。

转置矩阵的 time complexity 是O(n^2),
reverse矩阵中每一行的 time complexity 也是 O(n^2)。

整体的 time complexity 是O(n^2)。
space complexity 是 O(1)。

class Solution:def rotate(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""n = len(matrix)for i in range(n):for j in range(i, n):matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]for i in range(n):matrix[i].reverse()return matrix

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1557506.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

桥水基金、贝莱德、摩根士丹利选择极狐GitLab 的五大理由!

疯狂上涨的 A股、港股 节前一周&#xff0c;上证指数累计上涨超 12%&#xff0c;创下2008年11月以来最大单周涨幅&#xff1b;深证成指累计上涨超17%&#xff0c;创下1996年4月最大单周涨幅&#xff1b;创业板指上涨超22%&#xff0c;创下史上最大单周涨幅。 过去两周&#x…

1688代采系统-反向海淘系统详细介绍

Onebound凡邦1688代采系统-反向海淘系统是一种专为海外买家及跨境电商提供一站式采购解决方案的平台。其核心功能和服务旨在解决跨境采购中的语言、货币等常见问题&#xff0c;并优化采购流程&#xff0c;提高采购效率。以下是对该系统的详细介绍。 一、核心功能 商品采集与展…

基于Java(Jsp+Sevlet)+MySql 实现的(Web)成绩管理系统

1 概述 1.1 开发背景 随着学生数量的日渐增多&#xff0c;学生教务系统的数据量也不断增加&#xff0c;这无疑大大增加了教务系统的负担。如果能把负责学生成绩管理的模块独立出来形成一个独立的系统&#xff0c;便可以有效降低教务系统的数据量&#xff0c;不仅可以方便管理…

2003-2023年上市公司政府补助明细数据

2003-2023年上市公司政府补助明细数据 1、时间&#xff1a;2003-2023年 2、来源&#xff1a;通过整理和筛选于企业财务报表附注“营业外收入”下的“政府补助明细”得到 3、指标&#xff1a;年份、股票代码、股票简称、行业名称、省份、城市、区县、上市状态、政府补助金额、…

企业架构系列(16)ArchiMate第14节:实施和迁移视角

在企业架构中&#xff0c;为了有效地规划和管理架构的变更与实施&#xff0c;通常会使用不同的视角来描述架构的不同方面。本篇涉及到三个主要视角&#xff1a;项目视角、迁移视角以及实施与迁移视角。 一、实施和迁移视角概览 1.项目视角 元素与关系&#xff1a;关注项目本身…

基于ResNet50模型的船型识别与分类系统研究

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有&#xff1a;中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等&#xff0c;曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝&#xff0c;拥有2篇国家级人工智能发明专利。 社区特色…

获取时隔半个钟的三天

摘要&#xff1a; 今天遇到需求是配送时间&#xff0c;时隔半个钟的排线&#xff01;所以需要拼接时间&#xff01;例如2024-10-08 14&#xff1a;30&#xff0c;2024-10-08 15&#xff1a;00&#xff0c;2024-10-08 15&#xff1a;30 <el-form-item label"配送时间&a…

AP8505固定5V输出5V0.2A,SOP7/DIP7非隔离开关电源IC

AP8505基于高压同步整流架构&#xff0c;集成PFM控制器以及500V高可靠性MOSFET&#xff0c;用于外部元器件极精简的小功率非隔离开关电源。AP8505无线门铃芯片内置500V高压启动&#xff0c;实现系统快速启动、超低待机功能。5V非隔离无线门铃芯片AP8505提供了完整的智能化保护功…

海报制作用什么软件?快速搞定年末各种节日借势海报设计

厌倦了自己动手从零开始做宣传海报&#xff1f; 想要找AI智能工具&#xff0c;却又觉得生成的图片太假&#xff0c;不够的宣传格调&#xff1f; 想要找海报制作模板免费下载的平台&#xff0c;还总找不到自己想要的那一个风格的模板&#xff1f; 有没有想过&#xff0c;是你…

fastdfs下的doc文件可以访问,但是图片无法访问报错404,解决记录

fastdfs下的doc文件可以访问,但是图片无法访问报错404 以下内容主要讲linux的问题 以下内容主要讲linux的问题 以下内容主要讲linux的问题 以下内容主要讲linux的问题 以下内容主要讲linux的问题 第1项:查看Nginx的日志 可以先去查看Nginx的日志,在你Nginx的安装目录下的lo…

N1从安卓盒子刷成armbian

Release Armbian_noble_save_2024.10 ophub/amlogic-s9xxx-armbian (github.com) armbian下载&#xff0c;这里要选择905d adb 下载地址 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 提示信息 恩山无线论坛 使用usb image tool restet a…

探索创新宝库:一站式免费专利检索工具揭秘!

在这个知识爆炸的时代&#xff0c;专利不仅是创新成果的保护伞&#xff0c;更是技术发展的指南针。对于研究者、发明家、企业乃至普通爱好者&#xff0c;专利检索成为了探索技术前沿、规避侵权风险、激发创新灵感的重要手段。今天&#xff0c;我们将带您了解一款集多功能于一身…

第七在线7thonline荣耀加冕 斩获“最佳数据洞察平台”与“产业互联网最具发展潜力企业”两项大奖!

在科技创新与数字化转型的浪潮中&#xff0c;7thonline第七在线再次以卓越的技术实力和深厚的行业积累&#xff0c;赢得了业界的广泛认可&#xff0c;一举斩获“最佳数据洞察平台“和“产业互联网最具发展潜力企业”两项大奖。 01、“最佳数据洞察平台” “Ai新智奖”是国内首个…

网络安全基础知识面试题库

目录 1 基于路由器的攻击手段 1.1 源IP地址欺骗式攻击 1.2 源路由攻击 1.2.1 源路由 1.3 极小数据段攻击 2 RARP协议 3 自主访问控制 3.1 自主访问控制策略DAC 3.2 强制访问控制策略MAC 3.3 基于角色的访问控制策略RBAC 4 电子邮件的安全协议&#xff0c;Pretty Goo…

图书商城|基于springBoot的图书商城管理系统设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书&#xff08;可指定任意题目&#xff09; 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数…

关于PPT生成的开源大模型总结

目前需要开源的PPT生成模型&#xff0c;在这里对github上的一些模型进行筛选 搜索关键词&#xff1a;ppt generate&#xff08;more starts&#xff09; williamfzc/chat-gpt-ppt: 支持直接生成PPT支持中英文需要调用ChatGPT&#xff08;Add your token (official openai api k…

你知道U盘怎么加密吗?

1、使用Windows BitLocker&#xff1a; 适用于Windows 10/11专业版及以上版本。 插入U盘&#xff0c;右键点击U盘图标&#xff0c;选择“启用BitLocker”。 设置密码&#xff0c;并选择加密选项&#xff0c;点击“开始加密”。 2、使用Mac的Disk Utility&#xff1a; 适用…

从SQL Server过渡到PostgreSQL:理解模式的差异

前言 随着越来越多的企业转向开源技术&#xff0c;商业数据库管理员和开发者也逐渐面临向PostgreSQL迁移的需求。 虽然SQL Server和PostgreSQL共享许多数据库管理系统&#xff08;RDBMS&#xff09;的基本概念&#xff0c;但它们在处理某些结构上的差异可能会让人感到困惑&…

Mac上最好用的快捷回复工具-快捷短语

网络上打字回复已经成为我们日常生活中不可缺少的一件事了&#xff0c;当有的时候需要一遍又一遍的回复重复的内容的时候&#xff0c;难免会感到疲惫&#xff0c;每次复制粘贴重复的内容&#xff0c;时间一长真的会很让人抓狂。 这里给大家推荐一款很好用的快捷回复工具&#…

如何使用ssm实现基于JSP的电竞交互管理系统开发

TOC ssm822基于JSP的电竞交互管理系统开发jsp 绪论 1.1 课题背景 二十一世纪互联网的出现&#xff0c;改变了几千年以来人们的生活&#xff0c;不仅仅是生活物资的丰富&#xff0c;还有精神层次的丰富。在互联网诞生之前&#xff0c;地域位置往往是人们思想上不可跨域的鸿沟…