首页 > 其他分享 >LeetCode 热题 100 之 48. 旋转图像

LeetCode 热题 100 之 48. 旋转图像

时间:2023-08-03 20:12:56浏览次数:74  
标签:48 zip zipped 旋转 迭代 图像 100 热题 matrix

题目

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

image

提示:

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

思路

利用Python内置函数zip()函数,它可以将多个可迭代对象打包成一个元组序列,zip(*matrix)表示将matrix这个可迭代对象中的元素解包成多个元组。并返回一个迭代器。
例如:

a = [1, 2, 3]
b = ['a', 'b', 'c']
zipped = zip(a, b)
print(list(zipped))
得到
[(1, 'a'), (2, 'b'), (3, 'c')]
注意单纯print(zipped)
得到的是一个迭代器

再利用reversed()将每个元组中当中的元素进行翻转,翻转后再将其强制转换成list,最后重新赋值给matrix

代码

class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        matrix[:] = [list(reversed(row)) for row in zip(*matrix)]

标签:48,zip,zipped,旋转,迭代,图像,100,热题,matrix
From: https://www.cnblogs.com/anamzingclown/p/17604325.html

相关文章

  • RS485自由转PROFINET网关RS485自由通讯协议
    捷米JM-RS485/232-PN(RS485转Profinet)将具有RS485/232接口、自由通信协议接口的设备与PROFINET相连,作为PROFINET现场总线系统的一个设备。捷米JM-RS485/232-PN集成了一个2端口交换机。受支持的以太网服务:ping、arp、SNMP和LLDP。端口诊断。禁用端口。实时、等时同步实时通信(RT......
  • 价值100大洋的简体中文汉化补丁下载
    这真逗我啊.....要我怎么说呢...... 总之今天是DT才搞这个汉化补丁 说明两点:1基于繁体中文版,我只是改了简体字库,感谢制作繁体中文的大大(难不成官方做的??)2字库有点挫,我写了下面工具帮忙才搞定总之游戏文字还是有点挫........    中文名:   怪怪水族箱外文名:  ......
  • IU5530支持48V输入,输出12V-24V,3.5A异步降压DC-DC转换器
    IU5530E是一款具有集成型高侧MOSFET的48V、3.5A降压稳压器。能够耐受的抛负载脉冲高达50V。一个低纹波脉冲跳跃模式将无负载时的电源电流减小至180μA。当启用引脚被拉至低电平时,关断电源电流被减少至4μA。欠压闭锁在内部设定为4.3V,但可用使能引脚将之提高。可在内部控制输出电压......
  • LeetCode 热题 100 之 54. 螺旋矩阵
    题目给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输入:matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]提示:m==matrix.......
  • lg9483 [NOI2023] 合并书本
    考虑对合并过程建一棵树。对于一个点\(x\),定义\(a_x\)表示它向上合并的时候,对答案造成的重量贡献的系数。定义一个点的层级\(d_x\)为它的两个儿子层级的较大值\(+1\)。我们称\(d\)更小的层级为更深的层级。那么层级为\(i\)的非根非叶子节点会对答案造成\(2^i-1\)的......
  • 20天 hot 100 速通计划-day01
    哈希1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=......
  • 【HMS Core】【Push Kit】每天只能收到两条推送、状态码80100018
    【问题描述1】每天只能收到2条推送消息,其余的都无法收到【解决方案】1、请是否开通了消息自分类,因为现在是有咨询营销类消息限制的。没有使用自分类权益的话默认是资讯营销类消息。https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/message-restriction-d......
  • (*)LeetCode 热题 100 之 238. 除自身以外数组的乘积
    题目给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。请不要使用除法,且在O(n)时间复杂度内完成此题。示例1:输入:nums=......
  • LeetCode 热题 100 之 189. 轮转数组
    题目给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=......
  • RS232转Profinet网关rs232和rs485的区别
    在工业自动化领域,如何将扫码枪与PLC连接一直是一个重要的问题。而今天,我们将通过一个案例来展示如何通过RS232转Profinet网关,将X-9300扫码枪接入到PLC1200工业以太网总线上。在这个过程中,我们将会用到捷米的RS232自由协议转Profinet网关。1, 首先,我们需要了解RS232和Profinet两......