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

OJ题目里面的复杂图形的输出类型的汇总展示(巧妙地利用对称性offset偏移量)

1.关于各种复杂图形的输出问题


下面的这个是我们的第一种题目的写法:

主要就是整体的这个形状的字符都是一样的;

然后只需要控制这个每一行的字符的数量即可;

image-20250716075144404


下面的这个是我们的第二个风格的题目:

这个题目和上面的这个题目相比之下,主要的这个区别就是我们的这个字符的种类发生了变化,每一行的这个字符的数量是不一样的,但是这个整体呈现出来这个对称的特点,因此我们可以抓住这个对称性;

也就是在这个代码里面的哪一行char str当中的这个控制每一行输出的这个字符的类型的代码;

image-20250716084214831


下面的这个是我们的第三种题目的写法:也是和之前的两个相比之下,比较难的一种把,我觉得,因为这个输出的每一行的这个字符都不是一样的,这个是和之前的题目最大的区别,也是我认为这个题目的难点所在把

image-20250716162112926


下面的这个是第四种类型的这个题目的写法,其实和第三种是非常接近的:

整体上面的这个代码的逻辑没有很大的变化,主要的变化的地方就是这个最里面的那个for循环的字符输出的控制,如果大家观察的细心的话,这个就可以发现是只有这个系数的区别,我就是把其中的一行代码进行了注释,其他的这个代码都是没有变动的;

image-20250716162326147

因为这个还是有一定的难度的,我当时也是耽误了好久,我都不适合明白,后面在这个大模型的助力一下知道了那么一点点,但是还是觉得这个函数写的太离谱了,我觉得还是有难度的,如果大家有问题,可以看一下下面的这个gemini的回答,或许能够对于大家有所帮助;

主要就是这个代码里面的’A’+2n-2abs(j-(abs(n-i)+1))这一行代码,我觉得真的是太难了;下面的这个解释我觉得还是比较人性化的,仅供参考;

image-20250716163507314

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

相关文章:

  • 【Linux】基本指令学习1
  • DL00294-2D图像空间中3D点云分割Delaunay三角剖分
  • spring-ai之工具调用(Tool Calling)
  • TCP 拥塞控制算法 —— 慢启动(Slow Start)笔记
  • 能行为监测算法:低成本下的高效管理
  • AlpineLinux的用户管理
  • 同态加密赋能大模型医疗文本分析:可验证延迟压缩的融合之道
  • MPPT电路设计
  • LVS集群调度器
  • 解决容器dns问题
  • LVS四种模式及部署NAT、DR模式集群
  • Liunx-Lvs配置项目练习
  • Python函数全解析
  • 横向移动(中)
  • 使用YOLOv11实现水果类别检测:从数据到模型训练的全过程
  • 每日钉钉API探索:getAuthCode实现免登授权
  • 测试工作中的质量门禁管理
  • Maven入门指南:生命周期、阶段和执行顺序详解
  • 基于FPGA的IIC控制EEPROM读写(1)
  • 项目流程管理系统使用建议:推荐13款
  • 华为OD机试_2025 B卷_完美走位(Python,100分)(附详细解题思路)
  • ES组合使用must与should时的注意事项
  • 【LeetCode刷题指南特别篇】--移除链表元素,调试技巧,链表分割
  • Linux4:线程
  • TRAE + Milvus MCP:用自然语言 0 门槛玩转向量数据库
  • OpenVela之 Arch Timer 驱动框架使用指南
  • UltraISO编辑ISO文件
  • Karate(Java)接口自动化测试框架
  • 二刷 黑马点评 分布式锁-redission
  • 基于Canal实现MySQL数据库数据同步