OJ题目里面的复杂图形的输出类型的汇总展示(巧妙地利用对称性offset偏移量)
1.关于各种复杂图形的输出问题
下面的这个是我们的第一种题目的写法:
主要就是整体的这个形状的字符都是一样的;
然后只需要控制这个每一行的字符的数量即可;
下面的这个是我们的第二个风格的题目:
这个题目和上面的这个题目相比之下,主要的这个区别就是我们的这个字符的种类发生了变化,每一行的这个字符的数量是不一样的,但是这个整体呈现出来这个对称的特点,因此我们可以抓住这个对称性;
也就是在这个代码里面的哪一行char str当中的这个控制每一行输出的这个字符的类型的代码;
下面的这个是我们的第三种题目的写法:也是和之前的两个相比之下,比较难的一种把,我觉得,因为这个输出的每一行的这个字符都不是一样的,这个是和之前的题目最大的区别,也是我认为这个题目的难点所在把
下面的这个是第四种类型的这个题目的写法,其实和第三种是非常接近的:
整体上面的这个代码的逻辑没有很大的变化,主要的变化的地方就是这个最里面的那个for循环的字符输出的控制,如果大家观察的细心的话,这个就可以发现是只有这个系数的区别,我就是把其中的一行代码进行了注释,其他的这个代码都是没有变动的;
因为这个还是有一定的难度的,我当时也是耽误了好久,我都不适合明白,后面在这个大模型的助力一下知道了那么一点点,但是还是觉得这个函数写的太离谱了,我觉得还是有难度的,如果大家有问题,可以看一下下面的这个gemini的回答,或许能够对于大家有所帮助;
主要就是这个代码里面的’A’+2n-2abs(j-(abs(n-i)+1))这一行代码,我觉得真的是太难了;下面的这个解释我觉得还是比较人性化的,仅供参考;