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

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.xdnf.cn/news/15538.html

相关文章:

  • 轻松将文件从 iPhone 传输到 Mac
  • 牛客:HJ26 字符串排序[华为机考][map]
  • 暑期算法训练.2
  • ArcGISPro应用指南:使用ArcGIS Pro创建与优化H3六边形网格
  • PHP 社区正在讨论变更许可证,预计 PHP 9.0 版本将完全生效
  • 基于MATLAB的决策树DT的数据分类预测方法应用
  • 【Unity】Mono相关理论知识学习
  • SQL中对字符串字段模糊查询(LIKE)的索引命中情况
  • 第3章 Excel表格格式设置技巧
  • Win11专业工作站版安装配置要求
  • [NOIP][C++] 树的重心
  • Word 文档合并利器:基于 org.docx4j 的 Java 实现全解析
  • Java线程创建与运行全解析
  • GraphQL与REST在微服务接口设计中的对比分析与实践
  • Windows 启动后桌面黑屏,其他程序正常运行
  • Java接口:小白如何初步认识Java接口?
  • 一点点dd
  • WPF 加载和显示 GIF 图片的完整指南
  • 聚焦AI与物流核心技术:2025智慧物流论坛及长三角快递物流展会9月上海开幕
  • API Gateway HTTP API 控制客户端访问 IP 源
  • CSV 字段映射小工具 Demo
  • Thymeleaf 基础语法与标准表达式详解
  • 安全初级作业2
  • Linux LVS集群技术详解与实战指南
  • 测试工作中的质量门禁管理
  • HTML基础P1 | HTML基本元素
  • 【游戏引擎之路】登神长阶(十九):3D物理引擎——岁不寒,无以知松柏;事不难,无以知君子
  • 【uni-ui】hbuilderx的uniapp 配置 -小程序左滑出现删除等功能
  • Django+Celery 进阶:Celery可视化监控与排错
  • 健康生活,从细节开始