给出方阵的长宽,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.pswp.cn/bicheng/93763.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93763.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/93763.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传统方式部署(RuoYi-Cloud)微服务

实验环境192.168.10.43和192.168.10.44内存不能小于4G一、安装MySQL&#xff08;192.168.10.46&#xff09;1、安装MySQL依赖库dnf -y install ncurses-compat-libs2、上传mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二进制包到/root目录&#xff0c;解压并移动到指定…

Linux网络服务(一)——计算机网络参考模型与子网划分

文章目录前言一、分层思想1.1 分层的基本概念1.2 点到点与端到端通信的区别二、OSI参考模型2.1 OSI七层模型的结构2.2 各层功能示例&#xff08;以QQ为例&#xff09;2.3 单工&#xff0c;半双工和全双工2.4 OSI七层模型总结三、TCP/IP模型3.1 TCP/IP四层与五层模型3.2 TCP/IP协…

Elasticsearch全文检索中文分词:IK分词器详解与Docker环境集成

目录一、IK分词器介绍与选择1. IK分词器详细介绍1.1 基本概念1.2 核心功能1.3 适用场景2. 如果不使用IK分词器&#xff0c;有哪些替代方案&#xff1f;2.1 默认分词器的局限性2.2 替代方案及对比2.3 示例&#xff1a;Ngram Tokenizer配置3. 如何选择分词器&#xff1f;3.1 决策…

实用软件推荐

作者给大家推荐两个软件&#xff1a;typedown,typora typedown在microsoft上即可下载&#xff0c;免费 如果有更多的需求建议下载typora,typora为付费软件 typora官网&#xff1a;typora官网 typedown下载&#xff1a;typedown下载 作者曾经发布的一些以"md"为后…

地图导航怎么测?

地图导航的测试需要结合功能验证、性能评估和场景模拟等多维度方法,以下是基于行业标准和实践的系统化测试方案: 一、核心测试维度与方法 (一)功能测试:覆盖导航全流程 1、基础功能验证 路线规划:输入起点 / 终点后,验证系统是否能生成最短、最快或避开拥堵的路线,并…

力扣70:爬楼梯

力扣70:爬楼梯题目思路代码题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 思路 首先我们先列出来前几个台阶的答案从第一个开始&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;5。…

CoRL 2025|隐空间扩散世界模型LaDi-WM大幅提升机器人操作策略的成功率和跨场景泛化能力

内容源自计算机科研圈在机器人操作任务中&#xff0c;预测性策略近年来在具身人工智能领域引起了广泛关注&#xff0c;因为它能够利用预测状态来提升机器人的操作性能。然而&#xff0c;让世界模型预测机器人与物体交互的精确未来状态仍然是一个公认的挑战&#xff0c;尤其是生…

Rust 入门 生命周期-next2 (十九)

生命周期消除实际上&#xff0c;对于编译器来说&#xff0c;每一个引用类型都有一个生命周期&#xff0c;那么为什么我们在使用过程中&#xff0c;很多时候无需标注生命周期&#xff1f;例如&#xff1a;fn first_word(s: &str) -> &str {let bytes s.as_bytes();f…

Three.js 动画循环学习记录

在上一篇文章中&#xff0c;我们学习了Three.js 坐标系系统与单位理解教程&#xff1a; Three.js 坐标系系统与单位理解教程 接下来我们要学习的是Three.js 的动画循环 一、动画循环基础原理 1. 什么是动画循环&#xff1f; 动画循环是连续更新场景状态并重新渲染的过程&am…

ktg-mes 改造成 Saas 系统

ktg-mes 改造成 Saas 系统 快速检验市场&#xff0c;采用最简单的方案&#xff0c;即添加表字段 截止2025年8月16日上传的ktg-mes搭建存在一些问题&#xff0c;搭建可看文章&#xff1a; 搭建ktg-mes 改造 1. 添加租户表 create table sys_tenant (tenant_id bigint au…

【新手易混】find 命令中 -perm 选项的知识点

find 命令是 Linux/Unix 系统中强大的文件查找工具&#xff0c;广泛用于根据文件名、类型、时间、权限等条件搜索文件。其中&#xff0c;-perm 选项用于按文件权限查找文件&#xff0c;而在 -perm /mode 中出现的斜杠 / 是一种特殊的语法&#xff0c;表示“按位或&#xff08;O…

gdb的load命令和传给opeocd的monitor flash write_image erase命令的区别

问&#xff1a; "monitor flash write_image erase ${workspaceFolder}/obj/ylad_led_blink.elf", 和 "load", "executable" : "${workspaceFolder}/obj/ylad_led_blink.elf", 的区别&#xff1f;答&#xff1a; 你提到的 "monit…

1. Docker的介绍和安装

文章目录1. Docker介绍核心概念核心优势与虚拟机的区别一句话总结2. Docker的安装Windows 10/11 安装 Docker Desktop&#xff08;推荐 WSL2 方式&#xff09;Linux&#xff08;以 Ubuntu / Debian 系为例&#xff09;Docker 是一个开源的容器化平台&#xff0c;它允许开发者将…

fastdds.ignore_local_endpoints 属性

Fast DDS 的 fastdds.ignore_local_endpoints 属性用于控制同一 DomainParticipant 下的本地端点&#xff08;即 DataWriter 和 DataReader&#xff09;是否自动匹配。以下是对该功能的详细解释&#xff0c;并翻译为中文&#xff0c;结合其上下文、实现原理和使用场景&#xff…

华清远见25072班C语言学习day11

重点内容:函数&#xff1a;定义&#xff1a;返回值类型 函数名(参数列表) { //函数体 }函数的参数列表中可以有多个数据返回值&#xff1a;如果函数没有返回值可以写成void 返回值的作用&#xff0c;函数的结果用来返回给主调函数的&#xff0c;如果主调函数处不需要函数的结果…

视觉语言导航(7)——VLN的数据集和评估方法 3.2

这是课上做的笔记&#xff0c;因此很多记得比较急&#xff0c;之后会逐步完善&#xff0c;每节课的逻辑流程写在大纲部分。成功率(SR)导航误差(NE)成功加权路径长度&#xff08;SucceedPLength&#xff09;轨迹长度&#xff08;TL&#xff09;先知成功率&#xff08;OS&#xf…

ElasticSearch不同环境同步索引数据

目的&#xff1a;在生产环境把一个索引的数据同步到测试环境中1、在生产环境导出json数据curl -u "adims_user:xkR%cHwR5I9g" -X GET "http://172.18.251.132:9200/unify_info_mb_sp_aggregatetb_0004/_search?scroll1m" -H Content-Type: applicatio…

咨询进阶——解读咨询顾问技能模型

适应人群为咨询行业从业者、咨询团队管理者、想提升咨询技能的职场人士及咨询公司培训人员。主要内容围绕咨询顾问技能模型展开,核心包括五大核心能力(解决问题能力,涵盖洞察力、分析技巧、问题构建等,从识别问题实质到构建新分析方法分层次阐述;管理能力,涉及管理他人与…

2025年- H98-Lc206--51.N皇后(回溯)--Java版

1.题目描述2.思路 二维数组集合 (1&#xff09;N皇后规则 1&#xff09;不能同行&#xff08;同一行不能出现2个皇后&#xff09; 2&#xff09;不能同列&#xff08;同一列不能出现2个皇后&#xff09; 3&#xff09;不能说45度或135度&#xff08;斜对角线不能出现2个皇后&am…

5G + AI + 云:电信技术重塑游戏生态与未来体验

在数字娱乐蓬勃发展的今天&#xff0c;游戏产业已然成为科技创新的前沿阵地。电信网络也经历了一场深刻的蜕变&#xff0c;从最初仅仅是 “内容传输管道”&#xff0c;摇身一变成为与游戏深度绑定的技术共生体。5G 不断刷新着体验的边界&#xff0c;AI 彻底颠覆传统的创作模式&…