4.12  如何对数组旋转

4.12 如何对数组旋转

【出自MT笔试题】

难度系数:★★★☆☆ 被考察系数:★★★☆☆

题目描述:

请实现方法:print_rotate_matrix(intmatrix,intn),该方法用于将一个n*n的二维数组逆时针旋转45°后打印,例如,下图显示一个3*3的二维数组及其旋转后屏幕输出的效果。

978-7-111-61212-4-Part02-183.jpg

分析与解答:

本题的思路:从右上角开始对数组中的元素进行输出,实现代码如下:

978-7-111-61212-4-Part02-184.jpg

程序的运行结果如下:

3

2 6

1 5 9

4 8

7

算法性能分析:

这种方法对数组中的每个元素都遍历了一次,因此,算法的时间复杂度为O(n^2)。