news 2026/3/3 6:56:25

0x3f 第24天 黑马web (安了半天程序 )hot100普通数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
0x3f 第24天 黑马web (安了半天程序 )hot100普通数组

1.螺旋矩阵

思路太夸张了

用DIRS = (0,1),(1,0),(0,-1),(-1,0)分别表示右下左上三个方向

i+=DIRS[di][0]

j+=DIRS[di][1]

di代表当前的方向di=0时对应的(0,1)i+0,j+1,说明向右走

di = (di+1)%4 右转

核心思路:先构造DIRS元祖,并且想到方向di

从i = 0 j = 0开始遍历

遍历到的做标记

额外引入x,y来做试探,判断是否走到边界,或者重复,这样说明要拐弯了

(如果直接用i,j操作,会导致 “移动后发现走不通,再回退” 的冗余逻辑)

i和j的变换逻辑和for循环不同,所以是新颖的赋值

i+=DIRS[di][0]

j+=DIRS[di][1]

时间复杂度 mn 空间复杂度 1

class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: DIRS = (0,1),(1,0),(0,-1),(-1,0)#右下左上 i=j=di=0 m,n = len(matrix),len(matrix[0]) ans = [] for _ in range(m*n): ans.append(matrix[i][j]) matrix[i][j] = None #标记表示走过 x,y = i+DIRS[di][0],j+DIRS[di][1]#试探步7777 if x<0 or y<0 or x==m or y==n or matrix[x][y] is None: di = (di + 1) % 4 i+=DIRS[di][0] j+=DIRS[di][1] return ans

2.旋转图像

1.好理解的方法

先按对角线全部交换

然后每一行反转

这是线代的思路

转置+行翻转

n方 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): matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j] for row in matrix: row.reverse()

2.四角转换

每个值都转了90°

核心逻辑:分层 + 四角交换

正方形矩阵旋转的本质是「按层旋转」,每层的元素通过「四个角循环交换」完成旋转:

四角的规律

i,j n-1-j,i n-1-i,n-1-j j,n-1-i

j i j

连接 连接 连接

外循环为了兼容奇数 / 偶数边长,即使出现奇数层,+1//2也能保证这层不用交换

内循环//2说实话没懂原理,死记硬背吧

n方 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+1)//2): for j in range(n//2): matrix[i][j],matrix[n-1-j][i],matrix[n-i-1][n-1-j],matrix[j][n-i-1]\ =matrix[n-1-j][i],matrix[n-i-1][n-1-j],matrix[j][n-i-1],matrix[i][j]
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 3:57:33

Qwen-Image-Lightning:8步秒出AI绘图新神器

Qwen-Image-Lightning&#xff1a;8步秒出AI绘图新神器 【免费下载链接】Qwen-Image-Lightning 项目地址: https://ai.gitcode.com/hf_mirrors/lightx2v/Qwen-Image-Lightning 导语&#xff1a;AI图像生成领域再迎新突破&#xff0c;Qwen-Image-Lightning模型凭借仅需8…

作者头像 李华
网站建设 2026/2/12 7:24:32

OpenSCA-cli深度解析:3种高效软件成分分析方法实战指南

OpenSCA-cli深度解析&#xff1a;3种高效软件成分分析方法实战指南 【免费下载链接】OpenSCA-cli OpenSCA 是一款开源的软件成分分析工具&#xff0c;用于扫描项目的开源组件依赖、漏洞及许可证信息&#xff0c;为企业及个人用户提供低成本、高精度、稳定易用的开源软件供应链安…

作者头像 李华
网站建设 2026/2/28 16:01:01

Wan2.2视频大模型:解锁电影级AI视频创作新体验

Wan2.2视频大模型&#xff1a;解锁电影级AI视频创作新体验 【免费下载链接】Wan2.2-T2V-A14B 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-T2V-A14B 导语&#xff1a;Wan2.2视频大模型正式发布&#xff0c;通过创新的混合专家&#xff08;MoE&#xff…

作者头像 李华
网站建设 2026/3/3 0:19:47

5分钟快速掌握Freeglut:图形编程新手的终极配置指南

5分钟快速掌握Freeglut&#xff1a;图形编程新手的终极配置指南 【免费下载链接】freeglut Free implementation of the OpenGL Utility Toolkit (GLUT) 项目地址: https://gitcode.com/gh_mirrors/fre/freeglut 还在为复杂的OpenGL环境配置而烦恼吗&#xff1f;Freeglu…

作者头像 李华
网站建设 2026/2/27 17:01:50

小红书AI发布终极指南:从零开始的内容创作完整教程

小红书AI发布终极指南&#xff1a;从零开始的内容创作完整教程 【免费下载链接】xhs_ai_publisher 小红书 (xiaohongshu, rednote) ai运营助手&#xff0c;包括小红书风格内容&#xff08;包含图片&#xff09;的生成和自动发布两部分&#xff0c;其中自动发布利用selenium实现…

作者头像 李华
网站建设 2026/2/24 5:44:30

MGeo能否识别古地名?当前版本聚焦现代标准地址体系

MGeo能否识别古地名&#xff1f;当前版本聚焦现代标准地址体系 引言&#xff1a;MGeo的定位与核心能力边界 在中文地址理解领域&#xff0c;阿里云近期开源的 MGeo 模型引起了广泛关注。作为一款专为“地址相似度匹配”和“实体对齐”任务设计的深度学习模型&#xff0c;MGeo 在…

作者头像 李华