码迷,mamicode.com
首页 > 其他好文 > 详细

7 顺时针打印矩阵

时间:2018-11-26 00:14:04      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:需要   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 代码优化

7 顺时针打印矩阵

标签:需要   col   问题   范围   span   图片   优化   code   png   

原文地址:https://www.cnblogs.com/ghjnwk/p/10017890.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!