给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转 90 度js实现

JavaScript014

给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转 90 度js实现,第1张

题目:

给定一个 n × n的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

说明:

你必须在[原地]旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

刚开始我大概看了下,就是把矩阵中第n列反序后作为n行,那这就很简单了,我是这么写的:

最后返回的矩阵排序是正确的,不过最后去校验的时候发现是在原来的矩阵里调整,那也简单,我把久的矩阵的值改成和新矩阵相同就可以了:

我这种解法只是发现了这个规律,如果不让用新矩阵作为桥梁,不知还会有那些解法

1 图片的旋转实现方式有很多,比如js实现,现在比较简单的方法是使用css3里面的;transform属性来实现,很方便的。其实这个题目很简单,在百度里面搜索一下css3旋转就看到了,里面的手册介绍的很清楚,下面是代码以及显示效果都呈现出来;

2 下面是写的一个实例代码,代码可以直接运行。代码的解释有备注哦;总共代码呢其实没有几行,主要就是 transform属性的应用 代码中的90deg就是90度的意思

<!DOCTYPEhtml>

<html>

<head>

<style>

body{margin:0pxpadding:0px}

/*{transform就是专门为img图片设置的旋转*/

#img1{transform:rotate(90deg)border:1pxsolidred}

</style>

</head>

<body>

<imgid="img1"src="38.png"/>/*页面中显示的图片*/

</body>

</html>

3代码在浏览器的运行效果图: