标签:需要 col 问题 范围 span 图片 优化 code png
0 引言
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 , 则依次打印出数字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
1 抽象问题具体化
打印顺序为:
1)最外圈,一直到最里圈,一圈一圈地打印;
2)最外圈的打印顺序为:左上角到右上角,右上角到右下角,右下角到左下角,左下角到左上角
2 具体问题抽象分析
(1)外循环:圈子在往里边缩,需要直到圈子的四个边界值,分别是:
最外圈为第0圈:横坐标范围是(0,m-1),纵坐标范围是(0,n-1)
里边的圈子为:已知当前为第p圈,横坐标(p,n-1-p),纵坐标范围是(p,m-1-p)
(2)内循环:圈子从(p,p)点开始,一直打印到(m-1-p,n-1-p)
(3)考虑特殊情况:
1)m = 0,n = 0,返回空;
2)
3 demo
4 代码优化
标签:需要 col 问题 范围 span 图片 优化 code png
原文地址:https://www.cnblogs.com/ghjnwk/p/10017890.html