博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【面试题20】顺时针打印矩阵
阅读量:4967 次
发布时间:2019-06-12

本文共 1846 字,大约阅读时间需要 6 分钟。

【题目描述】

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。

【测试用例】

1. 多行数组;

2. 只有一行的数组;

3. 只有一列的数组;

4. 只有一行一列的数组;

【解决方案】

本题没有涉及复杂的算法或数据结构,画图可以让本题的思路更加具体化,考察动手画图用自己的思维解决问题的思路,只是考虑的问题稍多,并不难。

1. 考虑顺时针各个行列的打印规律;

2. 考虑不规则的打印情况;

我的代码实现,仅供参考:

1         public static void PrintMatrixClockWisely(int[][] arr) 2         { 3             if (arr == null || arr[0] == null) 4             { 5                 return; 6             } 7  8             int left = 0; 9             int right = arr[0].Length - 1;10             int top = 0;11             int bottom = arr.GetLength(0) - 1;12 13             while (left <= right && bottom >= top)14             {15                 //打印上边一行16                 for (int i = left; i <= right; i++)17                 {18                     Console.WriteLine(arr[top][i]);19                 }20 21                 //打印右边一列22                 if (top < bottom)23                 {24                     for (int i = top + 1; i <= bottom; i++)25                     {26                         Console.WriteLine(arr[i][right]);27                     }28                 }29 30                 //打印下边一行31                 if (left < right && top < bottom)32                 {33                     for (int i = right - 1; i >= left; i--)34                     {35                         Console.WriteLine(arr[bottom][i]);36                     }37                 }38 39                 //打印左边一列40                 if (left < right && top < bottom - 1)41                 {42                     for (int i = bottom - 1; i > top; i--)43                     {44                         Console.WriteLine(arr[i][left]);45                     }46                 }47 48                 left++;49                 right--;50                 top++;51                 bottom--;52             }53         }

 

转载于:https://www.cnblogs.com/HuoAA/p/4803970.html

你可能感兴趣的文章
mysql sin() 函数
查看>>
mysql upper() 函数
查看>>
socket tcp
查看>>
DataMining--Python基础入门
查看>>
单片机复位电路
查看>>
php json_decode失败,返回null
查看>>
获取单选按钮选中的值
查看>>
oracle 分页
查看>>
助教学期总结
查看>>
绘制基本 图形之矩形与多边形
查看>>
3-day3-list-truple-map.py
查看>>
Edit控件显示多行文字
查看>>
JS第二周
查看>>
dataTable.NET的search box每輸入一個字母進行一次檢索的問題
查看>>
Python 文件处理
查看>>
邻接表详解
查看>>
服务器一:分布式服务器结构
查看>>
迭代dict的value
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
Py 可能是最全面的 python 字符串拼接总结(带注释版)
查看>>