Lintcode题目打印X的思路分析
作者:互联网
打印X其实是一道找规律的题目,在开始分析这道题目的时候,陷入了一个误区,就是想按照输入的行数的奇偶来进行拆分(因为奇数总行数和偶数总行数最中心的哪个位置是不同的),然后还想按照上下各一半来处理,当上半部分处理完成后,再反转一下,最后拼接之后就好了,但是发现这种处理方式给自己带来了很多的限制,需要有很多的细节需要去考虑,非常的麻烦。
在纸上找规律的过程中,发现了如下现象:
因为每一个结果都是一个正方形,且画X的位置就在这个正方形的对角线上,那么根据行数n(列数相同也是n)可以得到规律,第a行的X位置坐标为(a,a)(a,n-a+1)(注:我这里的横纵坐标都是以1开始的,如果以0开始,对应修改即可)。
根据上述规律我的解决方案见下:
标签:位置,题目,规律,打印,Lintcode,正方形,行数,总行 来源: https://www.cnblogs.com/listu/p/15817310.html