微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
问题描述
如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。
1 2 6 7 15 …
3 5 8 14 …
4 9 13 …
10 12 …
11 …
…
容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20列的数是多少?
输出格式:
请提交一个整数,不要填写任何多余的内容。
解决方案
本题可以通过寻找蛇形排列的规律来解决。先求出该数在第几斜竖和该斜竖最大的数,如果该斜竖的最后一个数可以整除2,该数等于最大数减列数加1;反之,该数等于最大数减行数加1。
结语
我认为本题的重点在于寻找到相关排列的规律,通过找到的规律来解决题目中的问题。