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

蛇形方阵构造

给出方阵的长宽,n 和 m ,按照斜着的蛇形输出该方阵
面试官给的送分题裸模拟,写的太慢了没过,实际确实慢,结束后起码用了一个多小时才调完
找了下没找到leetcode 提交的地方,各种oj 倒是有,不过是 n * n 的
先把代码存这里吧

输出:

=================================1   2   6   7 3   5   8  13 4   9  12  14 10  11  15  16 
=================================1   2   6   7 3   5   8  11 4   9  10  12 
=================================1   2   6 3   5   7 4   8  11 9  10  12 
=================================1 
=================================1   2   5   6   9  10  13 3   4   7   8  11  12  14 

没啥可说的,纯模拟,就是没写过第一眼见到觉得很麻烦,要搞清楚实际上就是四种方向 右,下,左下,右上,四种操作,对 i 和 j 操作,暴力点写法边输出边看看哪儿越界了。

其实就是需要时间去观察 i 和 j 在边界什么情况右移动,下移动,以及上三角矩阵和下三角矩阵情况不同需要 if 判断。只能说输的服气,确实用太长时间了,但是讲道理也挺讨厌这种短时间编码的模拟题的。虽然可能确实比dp搞算法友好点把。难评

def snake_matrix(n, m):matrix = [[0 for _ in range(m)] for _ in range(n)]num = n * mcnt = 0i = 0j = 0def print_and_count(i, j):nonlocal cntcnt += 1if cnt > num:return Falsematrix[i][j] = cntreturn Truedef print_m():print("=" * 33)for i in range(n):for j in range(m):print(f" {matrix[i][j]: ^3}", end="")print("")print_and_count(i, j)     while cnt < num:# right and printif j == m - 1:i += 1else:j += 1if not print_and_count(i, j):breakwhile i != n - 1 and j != 0:i += 1; j -= 1if not print_and_count(i, j):break# down and printif i == n - 1:j += 1else:i += 1if not print_and_count(i, j):breakwhile j != m - 1 and i != 0:i -= 1; j += 1if not print_and_count(i, j):breakprint_m()if __name__ == "__main__":snake_matrix(4, 4)snake_matrix(3, 4)snake_matrix(4, 3)snake_matrix(1, 1)snake_matrix(2, 7)

挺难受的,都8月底了,也不知道国庆前能不能跑掉,生理性讨厌了

http://www.lryc.cn/news/624545.html

相关文章:

  • k8sday10服务发现(1/2)
  • 深度学习在订单簿分析与短期价格预测中的应用探索
  • elasticsearch-集成prometheus监控(k8s)
  • 电子电气架构 --- 软件会给汽车带来哪些变化?
  • Git+Jenkins 基本使用
  • cesium中实时获取鼠标精确坐标和高度
  • 开放最短路径优先协议
  • 在 CentOS 7 上使用 LAMP 架构部署 WordPress
  • 【秋招笔试】2025.08.16科大讯飞秋招机考真题
  • Unity爆炸力场实战指南
  • Avalonia实例实战七:动画
  • 文件读取的底层实现——generic_read_iter分析
  • 一个基于前端开发的经典飞机大战游戏,具有现代化的UI设计和流畅的游戏体验。
  • 【数据分析】R语言在生态学数据分析中的应用:从数据处理到可视化
  • 双指针从简单到复杂
  • 下划线字段在golang结构体中的应用
  • Drawnix:一款免费开源的白板工具,支持思维导图、流程图、类图和手绘图
  • 深入浅出讲透IPD:三层逻辑实例详解 —— 卫朋
  • 设计模式笔记_行为型_访问者模式
  • 【arXiv2025】计算机视觉|FGA:即插即用!让你的模型精准预测人群密度!
  • 微信小程序通过uni.chooseLocation打开地图选择位置,相关设置及可能出现的问题
  • 【深度学习】pytorch深度学习框架的环境配置
  • CPTS---Active 复现
  • 如何部署 PHPWind 8.5 UTF8 论坛?从下载到安装全流程(附安装包下载)
  • 20250818在荣品的PRO-RK3566开发板跑Buildroot的时候使用在线秒表https://tool.hiofd.com/stopwatch/
  • Python循环语句 从入门到精通
  • 【运维进阶】LNMP + WordPress 自动化部署实验
  • 第十六届蓝桥杯青少组C++省赛[2025.8.10]第二部分编程题(5、环形取硬币游戏)
  • Baumer高防护相机如何通过YoloV8深度学习模型实现网球运动员和网球速度的检测分析(C#代码UI界面版)
  • Opsqueue:为重负载而生的轻量级批处理队列,已开源!