当前位置: 首页 > news >正文

Leetcode54螺旋矩阵

在这里插入图片描述

思路:用set记录走过的地方,记下走的方向,根据方向碰壁变换

class Solution:def spiralOrder(self, matrix: list[list[int]]) -> list[int]:max_rows = len(matrix)max_cols = len(matrix[0])block_nums = max_cols * max_rowscount = 1i = 0j = 0answer = [matrix[0][0]]direction = 'right'visited_block={(0,0)}while count < block_nums:#print(i, j, count, answer, direction)#print(matrix)if direction == 'right':if j < max_cols - 1 and (i,j+1) not in visited_block:j = j + 1answer.append(matrix[i][j])visited_block.add((i,j))count += 1continueelse:direction = 'down'if direction == 'down':if i < max_rows - 1 and (i+1,j) not in visited_block:i += 1answer.append(matrix[i][j])visited_block.add((i, j))count += 1continueelse:direction = 'left'if direction == 'left':if j > 0 and (i,j-1) not in visited_block:j -= 1answer.append(matrix[i][j])visited_block.add((i, j))count += 1continueelse:direction = 'up'if direction == 'up':if i > 0 and (i-1,j) not in visited_block:i -= 1answer.append(matrix[i][j])visited_block.add((i, j))count += 1continueelse:direction = 'right'#print(answer)return answer
http://www.lryc.cn/news/152623.html

相关文章:

  • element-plus 表格-方法、事件、属性的使用
  • NVME Linux的查询命令-继续更新
  • pyqt5-自定义文本域1
  • Go实现LogCollect:海量日志收集系统【上篇——LogAgent实现】
  • MySQL (1)
  • MR混合现实汽车维修情景实训教学演示
  • ChatGPT在航空航天工程和太空探索中的潜在应用如何?
  • 算法基础第三章
  • ElementUI浅尝辄止20:Pagination 分页
  • Docker从认识到实践再到底层原理(二-1)|容器技术发展史+虚拟化容器概念和简介
  • 什么是大模型?1750亿、700GB的GPT大模型大在哪?
  • 剑指 Offer 10- II. 青蛙跳台阶问题
  • oracle10和11功能说明比较
  • golang-bufio 缓冲写
  • Windows修改电脑DNS
  • Linux驱动之Linux自带的LED灯驱动
  • C盘清理 “ProgramData\Microsoft\Search“ 文件夹过大
  • 深入了解字符串处理算法与文本操作技巧
  • Python爬虫:打开盈利大门的利器
  • 17.CSS发光按钮悬停特效
  • CSS中如何实现弹性盒子布局(Flexbox)的换行和排序功能?
  • spark底层为什么选择使用scala语言开发
  • 基于RabbitMQ的模拟消息队列之三——硬盘数据管理
  • DHorse v1.3.2 发布,基于 k8s 的发布平台
  • 在vue.config.js中配置文件路径代理名
  • 深度学习优化算法相关文章
  • echarts自定义Y轴刻度及其颜色
  • 【云原生进阶之PaaS中间件】第一章Redis-1.3Redis配置
  • C++ 动态内存
  • swagger 接口测试,用 python 写自动化时该如何处理?